如何在Python-Selenium的Xpath中传递带撇号(')的字符串变量?

时间:2016-07-21 09:25:14

标签: python selenium xpath

我有一个网络表格,我需要$每行的编辑模板图标(下图中看起来像记事本的图标)。该表看起来像这样。

我的代码检查文本,然后单击图标。我对前两个没有任何问题,但是最后一个由于撇号而给出了无效xpath表达式的错误。下面是我正在使用的代码。列表' form_titles'是通过检测我需要从本地文件夹逐个上传到这些表单中的click个文件来动态创建的。每个“标题”标题'有自己独特的.xsn文件,我使用的电子表格包含预编译列表,用于将每个.xsn文件引用到其表格标题中。

.xsn

1 个答案:

答案 0 :(得分:2)

您应该使用\来转义""字符,如下所示: -

form_titles = ["3.08 Incident Estimates", "3.09 Quotation by the Consultant", "3.10 Employer's Assessment"]

for form in form_titles:    
    try:
        WebDriverWait(browser, 60).until(EC.presence_of_element_located((By.XPATH, "//td[contains(text(),\"%s\")]" % (form))))
    finally:
        browser.find_element_by_xpath("//td[contains(text(),\"%s\")]/following-sibling::td/a[contains(@onclick, 'editProjectFormType')]" % (form)).click()
        time.sleep(30)

希望它有帮助...:)