下拉列表中的Selenium选项未正确显示

时间:2013-10-18 09:53:00

标签: python selenium

我对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告诉我,我选择了正确的选项,但浏览器显示的是前一个。没有想法有什么问题。 在检查了一下之后,如果我手动点击浏览器中的某个位置,该选项实际上会刷新到正确的值。好像浏览器挂起了。

0 个答案:

没有答案