Select 另一个项目然后搜索 Selenium (Python)
Select another item then searched Selenium (Python)
基本上我需要帮助的是:
我想用 selenium-3.141.0 和 Python 3.8.5 搜索 BBXXCODE。
我正在使用按预期工作的 driver.find_element_by_xpath("//*[contains(text(),'BBXXCODE')]"
。但是我需要以某种方式提取顶部 <tr>
标签的 ID,因为我想使用 driver.find_element_by_xpath('//*[@id="tr9"]/td[2]/h1').click()
来点击 I need to select this
文本。
有没有办法做到这一点,或者我应该继续通过 I need to select this
文本而不是代码进行搜索?
这是代码片段:
<tr id='tr9'>
<td></td>
<td role='gridcell'>
<span class='link'>I need to select this</span>
</td>
<td role='gridcell'>
BBXXCODE
</td>
</tr>
我希望大部分内容都清楚,如果没有,请随时告诉我,我会尝试添加更多详细信息。
提前致谢
要提取与文本 BBXXCODE 有关的 <tr>
标签的 ID,您可以使用以下任一方法 :
使用 xpath 和 parent
:
tr_id = driver.find_element_by_xpath("//td[contains(., 'BBXXCODE')]//parent::tr[1]").get_attribute("id")
使用 xpath 和 ancestor
:
tr_id = driver.find_element_by_xpath("//td[contains(., 'BBXXCODE')]//ancestor::tr[1]").get_attribute("id")
与其先获取 ID 然后再查找另一个元素(分两步),我建议,如果可能的话,您只需一步即可获取它。您可以使用下面的 XPath 根据 BBXXCODE 的位置找到所需的 SPAN。
//tr[./td[contains(text(),'BBXXCODE')]]/td/span
基本上我需要帮助的是:
我想用 selenium-3.141.0 和 Python 3.8.5 搜索 BBXXCODE。
我正在使用按预期工作的 driver.find_element_by_xpath("//*[contains(text(),'BBXXCODE')]"
。但是我需要以某种方式提取顶部 <tr>
标签的 ID,因为我想使用 driver.find_element_by_xpath('//*[@id="tr9"]/td[2]/h1').click()
来点击 I need to select this
文本。
有没有办法做到这一点,或者我应该继续通过 I need to select this
文本而不是代码进行搜索?
这是代码片段:
<tr id='tr9'>
<td></td>
<td role='gridcell'>
<span class='link'>I need to select this</span>
</td>
<td role='gridcell'>
BBXXCODE
</td>
</tr>
我希望大部分内容都清楚,如果没有,请随时告诉我,我会尝试添加更多详细信息。 提前致谢
要提取与文本 BBXXCODE 有关的 <tr>
标签的 ID,您可以使用以下任一方法
使用 xpath 和
parent
:tr_id = driver.find_element_by_xpath("//td[contains(., 'BBXXCODE')]//parent::tr[1]").get_attribute("id")
使用 xpath 和
ancestor
:tr_id = driver.find_element_by_xpath("//td[contains(., 'BBXXCODE')]//ancestor::tr[1]").get_attribute("id")
与其先获取 ID 然后再查找另一个元素(分两步),我建议,如果可能的话,您只需一步即可获取它。您可以使用下面的 XPath 根据 BBXXCODE 的位置找到所需的 SPAN。
//tr[./td[contains(text(),'BBXXCODE')]]/td/span