我对Selenium Webdriver有以下问题。我正在测试“品牌”和“商品”的页面上有两个下拉菜单。 “商品”的选项取决于您选择的品牌。我试图遍历所有可能的选择并打印品牌对。我使用两种可能的方法从每个下拉菜单中选择一个选项 使用Select():
def retryingSelectOption(name,n):
result=False
attempts=0
while attempts<5:
try:
element=Select(driver.find_element_by_name(name))
element.select_by_index(n)
print element.all_selected_options[0].text
result=True
break
except StaleElementReferenceException:
pass
attempts+=1
return result
使用.click():
def retryingClickOption(name,n):
result=False
attempts=0
while attempts<5:
try:
driver.find_element_by_name(name).find_elements_by_tag_name("option")[n].click()
result=True
break
except StaleElementReferenceException:
pass
attempts+=1
return result
我的问题在于,在我看来随机时刻(有时它有时它不起作用),即使上面的函数返回True并打印出所选的选项显示正确的答案,浏览器仍显示上一个选项。所以基本上Selenium告诉我,我选择了正确的选项,但浏览器显示的是前一个。没有想法有什么问题。 在检查了一下之后,如果我手动点击浏览器中的某个位置,该选项实际上会刷新到正确的值。好像浏览器挂起了。