我正在尝试为我的雇主自动执行一些下载。我将 selenium 与 python 和 chromedriver 一起使用。
我一直无法点击这个 div 元素,它是 javascript 下拉菜单的一部分。
<div class="item " idx="2" style="" title="">N53AC : BABY MILK UP TO 6 MONTHS</div>
通过在 Internet Explorer 中查找 innerText 属性,我已经能够使用 vbscript 单击此按钮。
我已经试过了
elemf = driver.find_elements_by_tag_name("div")
for element in elemf:
#print(element.get_attribute("innerhtml"))
if element.get_attribute("innerhtml")=="N53AC : BABY MILK UP TO 6 MONTHS" or element.get_attribute("innertext")=="N53AC : BABY MILK UP TO 6 MONTHS" or element.text=="N53AC : BABY MILK UP TO 6 MONTHS":
element.click()
有线索吗?我是 html 的新手。
最佳答案
这是您问题的答案:
您的代码中的主要问题是您正在尝试find_elements_by_tag_name("div");
,这在当前的 HTML DOM
中会很多。相反,您需要将搜索范围缩小到类似以下内容:
elemf = driver.find_elements_by_xpath("//div[@class='item ']");
现在我们可以进入一个循环并调用 click()
方法,如下所示:
for element in elemf:
my_attribute = element.get_attribute("innerHTML")
if my_attribute == "N53AC : BABY MILK UP TO 6 MONTHS"
element.click()
break
如果这回答了您的问题,请告诉我。
关于python - 无法通过文本点击div元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45402412/