使用 Selenium 在 html 中查找优质元素

Find superior element in html with Selenium

我有以下 html 代码:

<tr id="id that I want to obtain via title">
   <td class="icon">
       <span class="greenArrowIcon pid-1-arrowSmall"></span>
   </td>
   <td class="bold left noWrap elp">
       <a href="..." title="title that I have obtained">
           TITLE
       </a>
       <MORE CODE>
   </td>
</tr>

并且我知道标签标题 title="title that I have obtained" 总是相同的,但是 id id="id that I want to obtain viva title" 可以改变,奇怪的是改变,但是可以。 所以,我的问题是:如何通过 title 找到 id ?我认为问题是 title 标签在我想要解决的 id 的内部(一个劣等的 jerarchy)。

我正在使用Selenium,这是解决标题和获取网页元素的代码:

driver.find_element_by_css_selector("[title^='title that I have obtained']")

可以这样做吗?

要查找所需的 id 属性值,您可以使用以下 XPath 定位器:

tr = driver.find_element_by_xpath("//tr[.//a[@title='title that I have obtained']]")
id = tr.get_attribute("id")

@Prophet 已经很好地回答了,但我想向您展示查找相同元素的其他方法。

使用parent函数:

 //a[@title='title that I have obtained']//parent::td//..
 //a[@title='title that I have obtained']//..//parent::tr

使用ancestor函数:

//a[@title='title that I have obtained']//ancestor::tr