我们可以在 selenium 中找到文本的 xpath python
Can we find xpath of a text in selenium python
考虑在网页中关注 table
我想知道哪些公司来自英国国家。
所以我输入的是英国
我可以通过 selenium python 找到此 'UK' 的 xpath,以便我可以修改该 xpath 以获得相关输出。
可以吗,请告诉我。
提前致谢
编辑:我将输入英国,我必须在英国找到相应的公司
回答 :
如果 table 仅包含文本,则
xpath = "//td[text()='Country']/preceding-sibling::td"
如果 table 个元素有指向其他页面的链接
xpath - "//a[text()='Country']/parent::td/preceding-sibling::td"
,然后 select 你选择的元素找到答案
如果您不确定是否使用文本,您可以使用
//TAG[contains(text(),'TEXT')]
您可以在 Google Chrome 的 "Developer Console" 中测试您的 xpath
$any_variable("xpath")
有兴趣的可以通过https://www.w3.org/TR/2017/REC-xpath-31-20170321/#id-introduction了解如何查询XPaths
谢谢
是的,您可以使用 text
属性,假设包含国家/地区名称的元素是 td
.
然后你可以通过 :
找到所有带有 UK 文本的元素
elements= driver.find_elements_by_xpath("//td[text()='UK']")
我想HTML喜欢:
<tr>
<td>
Island Trading
</td>
<td>
Helen Bennet
</td>
<td>
UK
</td>
</tr>
...... (more rows)
# Make a for to get all TDs of each "important" TR, that is,
# a TR that includes a TD with 'UK' text
for actualRow in self.driver.find_elements_by_xpath("//td[text()='UK']/parent::tr/td"):
# Now select only the first TD
thisRowsTD=actualRow[0]
# Print information you need here (Text, id, name...)
print(thisRowsTD.text)
希望对您有所帮助!
考虑在网页中关注 table
我想知道哪些公司来自英国国家。 所以我输入的是英国 我可以通过 selenium python 找到此 'UK' 的 xpath,以便我可以修改该 xpath 以获得相关输出。 可以吗,请告诉我。
提前致谢
编辑:我将输入英国,我必须在英国找到相应的公司
回答 :
如果 table 仅包含文本,则
xpath = "//td[text()='Country']/preceding-sibling::td"
如果 table 个元素有指向其他页面的链接
xpath - "//a[text()='Country']/parent::td/preceding-sibling::td"
,然后 select 你选择的元素找到答案
如果您不确定是否使用文本,您可以使用
//TAG[contains(text(),'TEXT')]
您可以在 Google Chrome 的 "Developer Console" 中测试您的 xpath
$any_variable("xpath")
有兴趣的可以通过https://www.w3.org/TR/2017/REC-xpath-31-20170321/#id-introduction了解如何查询XPaths
谢谢
是的,您可以使用 text
属性,假设包含国家/地区名称的元素是 td
.
然后你可以通过 :
elements= driver.find_elements_by_xpath("//td[text()='UK']")
我想HTML喜欢:
<tr>
<td>
Island Trading
</td>
<td>
Helen Bennet
</td>
<td>
UK
</td>
</tr>
...... (more rows)
# Make a for to get all TDs of each "important" TR, that is,
# a TR that includes a TD with 'UK' text
for actualRow in self.driver.find_elements_by_xpath("//td[text()='UK']/parent::tr/td"):
# Now select only the first TD
thisRowsTD=actualRow[0]
# Print information you need here (Text, id, name...)
print(thisRowsTD.text)
希望对您有所帮助!