如何在python中使用硒选择元素

时间:2019-06-18 19:12:19

标签: python selenium

我尝试用硒操纵某些网站。不幸的是,我遇到了进一步的问题。

打开网站后,我需要选择一个元素并执行click事件。我尝试过使用find_element_by:name,tag_name,class_name,但是每次收到消息“没有这样的元素”。检查此元素将得到以下输出:

<div 
style="position: absolute; left: 90px; top: 3px; width: 48px; height: 18px; text-align: center; cursor: pointer; font-family: tahoma; font-size: 11px; font-weight: normal; border-top: 1px solid rgb(85, 85, 85); border-left: 1px solid rgb(85, 85, 85); border-right: 1px solid rgb(85, 85, 85); padding-top: 5px; background-color: rgb(117, 148, 159); border-radius: 4px 4px 0px 0px; color: rgb(255, 255, 255);"
>Działki</div>

如何使用硒(python)选择该元素

更新:

我认为xpat是解决方案,部分是正确的

现在我已经尝试过了:

browser.find_elements_by_xpath("/html/body/div[3]/div[8]/div[2]/div[1]/div[4]").click()

...但是现在我有了:

  

AttributeError:“列表”对象没有属性“点击”

怎么了?

2 个答案:

答案 0 :(得分:0)

如果您知道div将包含什么,但没有类或名称,则可以尝试通过其内部内容来识别它。在您的示例中,“Działki”

此答案说明了如何执行此操作:How do I find an element that contains specific text in Selenium Webdriver (Python)?

答案 1 :(得分:0)

如果您知道div中的文本并且该文本是唯一的,则可以使用text()进行查找。

它看起来像这样:

browser.find_elements_by_xpath("//div[text()='Działki']")

希望这对您有帮助!