Python 基于文本的selenium精确匹配

Python 基于文本的selenium精确匹配,python,selenium,xpath,Python,Selenium,Xpath,如果我有一些HTML: <span class="select2-selection__rendered" id="select2-plotResults-container" role="textbox" aria-readonly="true" title="50">50</span> 问题是网页上以前的某个地方有500,而且它正在收集,有没有办法搜索与50完全匹配的内容?而不是包含,搜索特定的文本值: driver.find_element_by_xpath('/

如果我有一些HTML:

<span class="select2-selection__rendered" id="select2-plotResults-container" role="textbox" aria-readonly="true" title="50">50</span>

问题是网页上以前的某个地方有
500
,而且它正在收集,有没有办法搜索与
50
完全匹配的内容?

而不是
包含
,搜索特定的
文本
值:

driver.find_element_by_xpath('//*[text()="50"]')
如果你知道它将是一个跨度元素,你可以更具体一点:

driver.find_element_by_xpath('//span[text()="50"]')

请注意,您的问题询问如何通过元素的文本值查找元素。如果可能并适用于您的情况,您应该查找特定的类或id(如果已知且一致)。

您可以通过其绝对Xpath进行搜索。为此,请检查页面并找到元素。然后右键单击它并复制其Xpath或完整Xpath

否则,您可以使用id:

驱动程序。按id查找元素(“select2 plotResults container”)


更多关于定位元素的信息。

请使用以下内容

msg_box=driver.find_element_by_class_name('_3u328') and driver.find_element_by_xpath('//div[@data-tab = "{}"]'.format('1'))
msg_box=driver.find_element_by_class_name('_3u328') and driver.find_element_by_xpath('//div[@data-tab = "{}"]'.format('1'))