我有一个内部网页,其中包含一个带有下拉框和复选框的文本框。
我不熟悉网页源代码,所以请耐心解释一下,并且只有很少的Selenium经验。
我在下面发布的代码将选择FOO没有任何问题,但在FOO和BAR时都会抛出错误。
WebDriverWait(driver, 20).until(lambda driver:driver.find_element_by_xpath(".<some valid path here>.")).click()
sites_checkbox = WebDriverWait(driver, 20).until(lambda driver:driver.find_element_by_id(sites_checkbox['FOO']))
if not sites_checkbox.is_selected():
sites_checkbox.click()
sites_checkbox = WebDriverWait(driver, 20).until(lambda driver:driver.find_element_by_id(sites_checkbox['BAR']))
if not sites_checkbox.is_selected():
sites_checkbox.click()
如果我独立运行这些行,我可以选择FOO或BAR,但如果我运行上面的代码,我会收到错误:
sites_checkbox = WebDriverWait(driver, 10).until(lambda driver:driver.find_element_by_id(sites_checkbox['AVC']))
TypeError:'WebElement'对象不可订阅
手动我可以选择多个复选框而不会出现任何问题。我试过在代码之间等了很长时间,但没有影响错误。