使用Python / Selenium从下拉菜单中选择项目

时间:2017-03-30 19:17:30

标签: python forms selenium drop-down-menu

我正在尝试为状态填写表格,我会选择底部俄勒冈州的一个表格。来自https://www.adidas.com/us/delivery-start。 编码新手谢谢!

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select


state = driver.find_element_by_xpath('//*[@id="dwfrm_delivery"]/div[2]/div[2]/div/fieldset/div/div[1]/div[6]/div[1]/div/div/a/span')
stateselect = state.select_by_visible_test("Oregon")

这是我得到的错误

AttributeError: 'WebElement' object has no attribute 'select_by_visible_test'.

并且

state = driver.find_element_by_xpath('//*[@id="dwfrm_delivery"]/div[2]/div[2]/div/fieldset/div/div[1]/div[6]/div[1]/div/div/a/span')
stateselect = state.send_keys("Oregon")

我得到以下内容:

error:WebDriverException: Message: unknown error: cannot focus element

请帮助我理解这两种情况的错误,以进一步理解。并指出我正确的方向。

1 个答案:

答案 0 :(得分:1)

当您复制代码时,请仔细检查是否已正确复制。

select_by_visible_test应为select_by_visible_text

但这不起作用,因为你没有使用select类。在使用stateselect之前,您需要:

stateselect = Select(state)

然后你可以这样做:

stateselect.select_by_visible_text("Oregon")

您还应该查看官方文档。在这种情况下,python selenium api for WebElementSelect的文档。您几乎总能通过搜索“python selenium select

来查找文档