在硒中查找确切的字符串

时间:2018-08-01 13:10:09

标签: python selenium selenium-webdriver xpath webdriver

当前,我正在尝试通过

在网页DOM中查找字符串。
driver.find_element_by_xpath("//*[contains(translate(text(),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'), '{0}')]".format(text))

但是,这会找到所有以该文本作为子字符串的实例。

是否只能找到确切的文字?而不包含文字?

3 个答案:

答案 0 :(得分:0)

//*[text()='string']

将仅返回完全匹配的字符串。

//*[contains(text(),'string')]

将返回所有以“ string”作为子字符串的内容。

答案 1 :(得分:0)

按如下方式使用normalize-space()

driver.find_element_by_xpath("//*[contains(translate(normalize-space(.), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), '{0}')]".format(text))

答案 2 :(得分:0)

使用以下代码使其正常工作:

driver.find_elements_by_xpath("//*[translate(normalize-space(text()),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='{0}']".format(text))