Skip to main content
 首页 » 编程设计

python之使用 Selenium 从没有 ID 或类的列表中抓取文本

2025年05月04日15jiqing9006

我不明白为什么当我肯定使用正确的 Xpath 时,我试图从中提取文本的列表返回空白。这是我的代码:

driver = webdriver.Firefox() 
driver.get("https://www.omegawatches.com/watch-omega-specialities-first-omega-wrist-chronograph-51652483004001") 
betweenLugs = driver.find_elements(By.XPATH, "/html/body/div[2]/main/div[3]/div/div/div[2]/div/div[2]/div[3]/div/ul/li[1]")]) 
print(betweenLugs.text) 

这应该获取第一个列表项和度量

Between lugs: 20 mm  

我也尝试过其他方法,但是 Xpath 没有接受它的事实告诉我出了点问题,不管我怎么做,我都做不到提取列表中的文本。有谁知道我做错了什么?这是我第一次遇到这个问题。

请您参考如下方法:

xpath 错误。它在 /div[2] 中失败,它不匹配任何内容。这是您不应使用绝对路径的示例。

该节有id属性,使用它

betweenLugs = driver.find_elements(By.XPATH, "//*[@id='product-info-data-5bea7fa7406d7']/ul/li[1]")[0] 

您可能还想添加一些等待加载

from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions 
 
betweenLugs = WebDriverWait(driver, 10).until(expected_conditions.visibility_of_element_located((By.XPATH, "//*[@id='product-info-data-5bea7fa7406d7']/ul/li[1]")))