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不起作用,这是定位值的实际方法

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 + "'" + ")]")

关于Python Selenium 选择带变量的 xpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31256469/

相关文章:

xml - XPath 中运算符的优先级是什么?

python - Discord py - 使用 on_command_error 进行错误处理

Python type() 显示不同的结果

python - 如何在只读模式下设置输入的值

json - soapUI中JSON响应的xPath

XML:Web 服务返回多个根元素

python - 如何在python中合并数据

python异步http请求

c# - chrome升级到63版本后Selenium ChromeDriver异常

python - 无法选择值 - 错误 "Select only works on <select> elements, not on <a>"