我正在做一个股票检查,当我在finance.yahoo.com去亚马逊(AMZN)时,我有点问题。我的代码工作得很好,但当我尝试特斯拉(TSLA)这样的例子时,它就不起作用了。这是我的部分代码
getperstock = driver.find_element_by_xpath('//*[@class="Trsdu(0.3s) Fw(b) Fz(36px) Mb(-4px) D(ib)"]').text #Works
print(str(getperstock))
#"Trsdu(0.3s) Fw(500) Pstart(10px) Fz(24px) C($negativeColor)"
getstockratio = driver.find_element_by_xpath('//*[@class="Trsdu(0.3s) Fw(500) Pstart(10px) Fz(24px) C($positiveColor)"]').text #Doesnt
print(str(getstockratio))
这里是最小的HTML
获取第一个
span
的第一个xpath是可以的。但是第二个span
将包括negative
或positive
,因此如果股票走势为负/正,它将无法定位元素。我在你的评论中看到,你说它奏效了,但我确信,一旦它走向相反的方向,它就会失败更好的方法:
顺便说一下,不要使用
find_elements...
来查找父节点。使用显式等待将使代码高效地完成等待部分:https://selenium-python.readthedocs.io/waits.html相关问题 更多 >
编程相关推荐