如何使用 Selenium 函数 back() 并且我在 Python 中丢失了我的变量?
How to use Selenium function back() and I loss my variable in Python?
我是 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()
时数组中的选项应该如何使用?
谢谢
是的,这是因为 DOM
刷新。您不能简单地遍历数组并来回单击。最好的选择是在运行时找到元素,然后单击。避免使用 option.click()
,而是使用 find_element
查找下一个元素。如果您不确定如何完成,请提供 html
我是 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()
时数组中的选项应该如何使用?
谢谢
是的,这是因为 DOM
刷新。您不能简单地遍历数组并来回单击。最好的选择是在运行时找到元素,然后单击。避免使用 option.click()
,而是使用 find_element
查找下一个元素。如果您不确定如何完成,请提供 html