Python Selenium使用变量选择xpath

Python Selenium使用变量选择xpath,python,selenium,xpath,Python,Selenium,Xpath,我试图找到一个可视元素,该元素将根据用户在网站上输入的内容进行更改。如果将以下命令与静态xpath搜索字符串一起使用,则我将成功: wait.until(EC.visibility_of_element_located((By.XPATH, "//a[text()='Default-Test']"))) 默认测试将任意更改,我知道如何获取此值,但在xpath搜索中使用变量未成功: 试验方法1不起作用 dtg_found = "Default-Test" 测试方法2不起作用,这是定位值的实际

我试图找到一个可视元素,该元素将根据用户在网站上输入的内容进行更改。如果将以下命令与静态xpath搜索字符串一起使用,则我将成功:

wait.until(EC.visibility_of_element_located((By.XPATH, "//a[text()='Default-Test']")))
默认测试将任意更改,我知道如何获取此值,但在xpath搜索中使用变量未成功:

试验方法1不起作用

dtg_found = "Default-Test" 
测试方法2不起作用,这是定位值的实际方法

dtg_found = driver.find_element_by_name("result[0].col[1].stringVal").get_attribute("value")

dtg_opt_1 = wait.until(EC.visibility_of_element_located((By.XPATH, "\"//a[text()='" + dtg_found + "']" + '"'))) 

这就是我遇到的问题的解决方案。尝试重新处理字符串和相关转义“\”,但未成功。但是,它确实实现了以下功能。我不清楚为什么会这样

dtg_opt_1 = driver.find_element_by_xpath("//*[contains(text()," + " '" + dtg_found + "'" + ")]")

这里有多少引号?谢谢,我试着把转义符“\”改大,并试着把字符串连在一起而不带“\”。最终,它可以通过以下方式工作:dtg_opt_1=driver.find_element_by_xpath(“/*[contains(text(),“+”“““+dtg_find+”)”))如果您已经解决了这个问题,那么您应该删除它,或者在下面提供一个答案(并接受它)这样问题就不会把未回答的问题页面弄得乱七八糟。是什么给你的印象是你应该有一个
\“
在XPath表达式的开头?@LarsH我对python有点陌生,但我试图将XPath搜索字符串与变量连接起来。因为搜索字符串是混合引号,我想我可以使用\来转义下面的引号。我显然错了。