如何在Selenium中的xpath表达式内使用单引号?

时间:2019-07-07 18:27:16

标签: python selenium xpath

我需要在网站上搜索名称可能包含单引号的按钮,但我不知道该怎么做。

a = "Ming'an Cui"
n = "55"
driver.find_element_by_xpath("//button[contains(span,'"+a+"')]/span[@class='btn-subtext' and contains(text(),"+n+")]").click()

然后我收到此消息:

  

InvalidSelectorException:消息:给定的xpath表达式“ // button [包含(span,'Ming'an Cui')] / span [包含(span,'Ming'an Cui']]“)无效:SyntaxError:表达式不是合法的表达方式。

2 个答案:

答案 0 :(得分:0)

我相信您必须先使用escape sequence character,然后再使用back slash (\) 如下所述

driver.find_element_by_xpath("//button[contains(span,'"+"Ming\'an Cui"+"')]/span[@class='btn-subtext' and contains(text(),"+n+")]").click()

答案 1 :(得分:0)

driver.find_element_by_xpath('//button[contains(span,\"'+a+'\")]/span[@class="btn-subtext" and contains(text(),"55")]').click()#nomes

修复了它:D