如何使用Selenium函数back()并在Python中丢失变量?
我是Python新手 我在Python中遇到了一个大问题 我访问了一个网站,在一个数组中放置了大约200个下拉列表选项 我想单击数组中的每个选项,然后单击javascript按钮提交 从该页面获取我想要的内容,然后返回上一页,单击另一个选项 在for循环中执行这些操作大约200次 代码如下:如何使用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'
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
中的一个实现。希望不要太难理解。谢谢!!!!!它能工作。我计算循环中要运行的选择的长度,并每次单击时查找元素。