如何使用Selenium函数back(),我在Python中丢失了我的变量?

时间:2015-02-16 02:06:57

标签: python selenium

我是Python的新手。

我在Python中遇到了一个很大的问题!!

我访问了一个网站,并从数组中的下拉列表中提取了大约200个选项。

我想点击数组中的每个选项,然后点击javascript按钮提交。

从该页面获取我想要的内容并返回上一页单击另一个选项。

在for循环中执行这些操作大约200次。

以下是代码:

for option in arrName:
    if count > 0:
        option.click()
        string = u'Something'
        link2 = browser.find_element_by_link_text(string.encode('utf8'))
        link2.click()
        //"do something I want"
        browser.back()
    count = count +1

在此代码中,我不想使用第一个选项。

问题来了,在程序点击第二个选项后,点击link2,browser.back(),它回答我:

` StaleElementReferenceException: Message: stale element reference: element 
is not attached to the page document

这意味着数组中的选项会消失吗?

当for browser.back() for for循环时,我应该如何使用数组中的选项?

由于

1 个答案:

答案 0 :(得分:1)

是的,这是因为DOM刷新而发生的。您不能简单地遍历数组并来回点击。最好的选择是在运行时找到元素,然后单击。请避免使用option.click(),找到find_element的下一个元素。如果您不确定如何完成,请提供html