当前,我正在尝试通过
在网页DOM中查找字符串。driver.find_element_by_xpath("//*[contains(translate(text(),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'), '{0}')]".format(text))
但是,这会找到所有以该文本作为子字符串的实例。
是否只能找到确切的文字?而不包含文字?
答案 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))