一尘不染

在Python Selenium中的xpath中使用变量

selenium

我一直在弄清楚如何获取变量以使用Selenium时遇到了麻烦。这篇文章似乎有所帮助(Variable在括号内不起作用),但我仍然无法使它起作用。

当我使用实际值时,它起作用。在这种情况下,阿拉巴马州。我创建了一个名为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]"}

阅读 751

收藏
2020-06-26

共1个答案

一尘不染

值的编码方式中不包含该值的单引号。尝试:

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