【发布时间】:2015-12-28 17:42:37
【问题描述】:
我一直无法弄清楚如何让变量工作 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]"}
【问题讨论】:
-
我将@EGHM 的帖子标记为答案。但是对于那些可能能够使用这些信息的人,我确实发现 Select 也确实有效。我使用了 Select(driver.find_element_by_class_name("c3")).select_by_visible_text(state)。不确定我是否应该将代码放在评论中。
-
@shavar 使用 Select 抽象确实是解决问题的更简洁的方法。
-
@alecxe 感谢您的意见。我很好奇 Select 是否是首选方法。在可能的情况下,我将使用 Select 抽象。当然,我还得再读一读它的用法。
标签: python variables selenium selenium-webdriver