我正在尝试为状态填写表格,我会选择底部俄勒冈州的一个表格。来自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
请帮助我理解这两种情况的错误,以进一步理解。并指出我正确的方向。
答案 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 WebElement和Select的文档。您几乎总能通过搜索“python selenium select”
来查找文档