【问题标题】:I'm trying to go up and down the DOM in Selenium with Python我正在尝试使用 Python 在 Selenium 中上下 DOM
【发布时间】:2017-03-07 13:24:07
【问题描述】:
full_text = driver.find_elements_by_class_name("the-full-text")

for _ in full_text:
    if "word" in _:
        full_answer = _.find_element_by_xpath('..')     
        _.find_element_by_xpath("..//div[@class='some-text']").click() 

我得到这个错误:

如果_中的“单词”:TypeError:'WebElement'类型的参数不可迭代

我知道可以使用driver.execute_script(""" javascript here """),但不知何故,我认为这不应该是第一选择。

所以我只是想从列表中获取一个元素,从那里向上移动 DOM,然后在其中选择一个不同的元素。我希望这是有道理的。

【问题讨论】:

  • 有道理,但似乎很模糊。您能否向我们展示一些您尝试处理的文本以及实际代码。然后告诉我们您遇到的具体困难并提出明确的问题。
  • 您能否给出您尝试解析的完整回溯和xml
  • 显示HTML 代码示例和所需输出

标签: python selenium selenium-webdriver


【解决方案1】:

if "word" in _: 行中,您尝试检查WebElement 中是否包含字符串“word”。 WebElement 是单个对象,因此如错误消息所述不可迭代,看起来像

<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="dae57d0d-9570-4693-bb7f-8aa31ab24699", element="49e4afcd-f6c3-4b62-bba0-a3b21e08c78d")>

如果要检查元素的文本,需要使用text 属性

if "word" in _.text:

【讨论】:

    猜你喜欢
    • 2012-08-02
    • 2021-03-09
    • 1970-01-01
    • 2018-04-18
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多