python - 在 Python Selenium 的 xpath 中使用变量

标签 python variables selenium selenium-webdriver

我一直无法弄清楚如何让一个变量在 Selenium 中工作。这篇文章似乎有所帮助(Variable not working inside parenthesis),但我仍然无法让它发挥作用。

当我使用它的实际值时。在这种情况下,阿拉巴马州。我创建了一个名为 state 的变量,这样我就可以调用 在我的职能中。我要跑过 13 个州。

driver.find_element_by_xpath("//option[@value='AL-Alabama']").click()

这个使用状态变量,在查看错误消息时,它显示变量值为 AL-Alabama。所以好像 它在网页中引用了正确的值。不确定我遗漏了什么或为什么它不起作用。任何指导将不胜感激。

driver.find_element_by_xpath('//option[@value=' + state + ']').click()
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//option[@value=AL-Alabama]"}

最佳答案

值周围的单引号没有出现在您的编码方式中。尝试:

driver.find_element_by_xpath("//option[@value='" + state + "']").click()

关于python - 在 Python Selenium 的 xpath 中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32874539/

相关文章:

python - Celery 在使用 Django 数据库执行之前撤销任务

python - 无法创建 Django ValueError 对象,因为数据未验证

python - 使用规范化展平三重嵌套 JSON

c++ - 为什么用short不好

java - 使用 WebDriver/HtmlUnit 获取所有 HTTP 请求

python - shufler() 正好接受 1 个位置参数(给定 2 个)

list - 比较序言中的列表

php - MySQL语法错误将php字符串插入表中

python - 如何以root身份运行selenium chromedriver? (即使使用 --no-sandbox 也不起作用

java - 如果我没有原始的 XPath,如何刷新过时的 Selenium 元素