首页 > 解决方案 > Selenium get_attribute 不返回

问题描述

我有以下代码:

url="https://www.betexplorer.com/soccer/poland/ekstraklasa/lks-lodz-lechia-gdansk/fgQY4hAD/"
browser = webdriver.Chrome()

browser.get(url)
time.sleep(1.5)

trs = browser.find_elements_by_xpath(".//div[@id='odds-content']/div/div/table/tbody/*")

现在我试图在该 xpath 中获取“data-opening-odds”类。xpath 对应于图像上的绿线,我想刮掉红线。 图片

我正在尝试trs[0].get_attribute("data-opening-odd"),但返回 None 类型

标签: pythoncssseleniumweb-scrapingbeautifulsoup

解决方案


您在td“data-opening-odd”属性之后,但 xpath 匹配trs。下面的 xpath 将仅匹配td具有该属性的 s:

tds = driver.find_elements_by_xpath("//table[@id='sortable-1']/tbody/tr/td[@data-opening-odd]")

或者,使用 css 选择器同样的事情:

tds = driver.find_elements_by_css_selctor("table#sortable-1 > tbody > tr > td[data-opening-odd]")

推荐阅读