如何使用Selenium函数back()并在Python中丢失变量?

如何使用Selenium函数back()并在Python中丢失变量?,python,selenium,Python,Selenium,我是Python新手 我在Python中遇到了一个大问题 我访问了一个网站,在一个数组中放置了大约200个下拉列表选项 我想单击数组中的每个选项,然后单击javascript按钮提交 从该页面获取我想要的内容,然后返回上一页,单击另一个选项 在for循环中执行这些操作大约200次 代码如下: for option in arrName: if count > 0: option.click() string = u'Something'

我是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
在这段代码中,我不想使用第一个选项

问题来了,程序单击第二个选项后,单击链接2,然后
browser.back()
,它会回答我:

` StaleElementReferenceException: Message: stale element reference: element 
is not attached to the page document
这意味着数组中的选项消失了

browser.back()
进入for循环时,如何使用数组中的选项


谢谢

是的,这是因为
DOM
refresh。不能简单地迭代数组并来回单击。最好的选择是在运行时找到元素,然后单击。避免使用
选项。而是单击()
,使用
find\u element
查找下一个元素。如果您不确定如何完成,请提供
html

谢谢!我试试看。如果我不能完成它,请让我再问一次,我会提供html页面@趙偉丞 是
Java
中的一个实现。希望不要太难理解。谢谢!!!!!它能工作。我计算循环中要运行的选择的长度,并每次单击时查找元素。