无法通过文字

时间:2017-07-30 16:59:26

标签: python html selenium innertext

我正在尝试为我的雇主自动下载一些内容。我正在使用硒与蟒蛇和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新手。

1 个答案:

答案 0 :(得分:0)

以下是您的问题的答案:

您的代码中的主要问题是您正在尝试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

如果这回答你的问题,请告诉我。