【问题标题】:Selenium: find the id of the parent of a certain itemSelenium:查找某个项目的父项的id
【发布时间】:2017-03-22 23:38:09
【问题描述】:

拿这个简单的代码:

<! DOCTYPE html>
<html>
<body>

<div id="001">
    <div title="hi">hi</div>

</div>

</body>
</html>

如何通过知道标题“hi”来找到 id“001”:

driver.find_elements_by_xpath("//*[@title='hi']")

我已经看到了这个:Select parent element of known element in Selenium 但它在 Python 上不起作用

【问题讨论】:

  • “它在 Python 上不起作用”是什么意思?
  • 你试过child_element = driver.find_elements_by_xpath("//*[@title='hi']")然后parent_elem = child_element.find_elements_by_xpath('..')现在来获取id只需做parent_elem.get_attribute('id')
  • @JayeshDoolani 是的,但它说 list 没有 .find_elements_by_xpath 属性。我的代码是:elem = driver.find_elements_by_xpath("//*[@title='"+team+"']") padre = elem.find_elements_by_xpath('..')我>
  • find_elements_by_xpath改成find_element_by_xpath

标签: python html selenium


【解决方案1】:

首先获取具有title='hi'属性的子&lt;div&gt;元素

child_elem = driver.find_element_by_xpath("//*[@title='hi']")

然后使用 xpath '..' 获取该元素的父元素

parent_elem = child_elem.find_element_by_xpath('..')

现在,要获取父元素的属性id,只需这样做

parent_elem.get_attribute('id')

【讨论】:

  • 答案是对的,但真正的问题是我放了 find_elements_by_xpath 而不是 *find_element_by_xpath*,正如你上面所说的
  • 您可以使用 XPath 一次性完成,//div[@title='hi']/..
猜你喜欢
  • 2018-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-24
相关资源
最近更新 更多