Selenium无法通过XPath找到元素

时间:2018-02-28 11:50:47

标签: python selenium selenium-chromedriver chromium

我正在尝试使用Selenium Chromedriver从页面中提取一些赔率,因为数据是动态的。 “通过XPath查找元素”通常适用于这些类型的网站,但这一次,它似乎无法找到有问题的元素,也不会找到属于显示相关赔率的页面部分的任何元素。

我可能犯了一个简单的错误 - 如果有人有时间检查页面,我会非常感激! Nordic Bet NHL Odds

driver.get("https://www.nordicbet.com/en/odds#?cat=&reg=&sc=50&bgi=36")
time.sleep(5)
dayElems = driver.find_elements_by_xpath("//div[@class='ng-scope']")
print(len(dayElems))
>>> 0

1 个答案:

答案 0 :(得分:1)

起初我误解了,抱歉, 事实证明这是我以前面临的一个问题......

在另一个框架中,id是SportsbookIFrame,你需要导航到框架

In [58]: driver.switch_to_frame("SportsbookIFrame")

In [55]: dayElems = driver.find_elements_by_xpath("//div[@class='ng-scope']")

In [56]: len(dayElems)
Out[56]: 26

对于搜索iframe,它们是常用元素:

iframes = driver.find_elements_by_xpath("//iframe")