【问题标题】:How to find element next to another element?如何在另一个元素旁边找到元素?
【发布时间】:2015-03-18 18:16:48
【问题描述】:

有没有办法找到一个元素旁边的另一个元素,如下例所示?我试图通过首先找到“更新频率”一词来检索“每日”一词。我认为 XPath 将是唯一的方法,但我不确定如何获得它,因为它不是子元素。

图片:(http://i.imgur.com/UWI3nLy.png)

【问题讨论】:

  • 请不要将我们链接到图片,将您的代码作为文本发布在这里。
  • 你试过什么?

标签: python selenium xpath


【解决方案1】:

试试这个 xpath:

//*[contains(text(),'Frequency of Update')]/ancestor::td/following-sibling::td

这将首先在 DOM 中定位具有 innerHTML/text 'Frequency of Update' 的元素,然后从其所有祖先中定位 'td' 元素,然后定位作为其兄弟元素的 'td' 元素,该元素具有“每日”文本

【讨论】:

  • 感谢回复,不幸报错了
【解决方案2】:

你可以找到这样的元素:

element = driver.find_element_by_xpath('//td[//*[contains(text(),"Frequency of Update")]]')
next_element = element.find_element_by_xpath('./following-sibling::td')

如果你想通过定位元素找到另一个元素,

Xpath 应该以 ' 开头。 '

【讨论】:

    【解决方案3】:

    如果它是元素的兄弟,你应该使用以下 xpath:

    /following-sibling::td
    
    
    element = <the element you retrived by locating "Frequency of Update">
    element.find_element_by_xpath('/following-sibling::td')
    

    【讨论】:

      猜你喜欢
      • 2022-06-12
      • 1970-01-01
      • 2011-12-21
      • 2021-12-06
      • 1970-01-01
      • 2012-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多