[英]Parsing nested elements using selenium not working - python
首先,我检索元素league-item
,然后我正在寻找具有类名称的i
项目: 'ds-icon-material league-toggle-icon'
Selenium 告诉我它找不到任何具有此类名称的项目。 这是我的代码:
path = r"""chromedriver.exe"""
driver = webdriver.Chrome(executable_path=path)
driver.get(_1bet)
time.sleep(5)
#a = driver.find_element_by_class_name('box-content.box-bordered.box-stick.box-bordered-last')
league1 = driver.find_elements_by_class_name('league-list')[0]
league1.find_element_by_class_name("ds-icon-material league-toggle-icon")
你能帮我么? 我不明白为什么它不起作用。
谢谢
注意:我正在抓取的网站是: https : //1bet.com/ca/sports/tennis? time_range =all
我无法访问该网页,所以我只能猜测那里发生了什么。
我可以在这里解决两个问题:
.
league1 = driver.find_elements_by_class_name('league-list')[0]
league1.find_element_by_xpath(".//i[@class='ds-icon-material league-toggle-icon']")
Selenium 需要单个类名 - 它在开头添加dot
以创建CSS selector
。
但是"ds-icon-material league-toggle-icon"
是两个类,它会在第一类之前而不是在第二类之前添加dot
,这会产生问题。
您可以直接使用带有所有点的 css 选择器
.find_element_by_css_selctor(".ds-icon-material.league-toggle-icon")
或者你必须欺骗 Selenium 并在类之间添加缺失的点
.find_element_by_class_name("ds-icon-material.league-toggle-icon")
我无法连接到此页面以确认这就是全部。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.