猿问

selenium python 3.6 中的陈旧元素

我的代码:


count = 1

next_page_string = "javascript:__doPostBack('ctl00$MainContent$grdResults','Page$" + str(count) + "')"

td_page_number_list = driver.find_elements_by_xpath("//*[@id='MainContent_grdResults']/tbody/tr[22]/td/table/tbody/tr/td/a")

for x in td_page_number_list:

      if x.get_attribute("href") == next_page_string:

                driver.execute_script("__doPostBack('ctl00$MainContent$grdResults','Page$" + str(count) + "')")

满足条件后driver object转到时代码中断execute_script,给我错误:


stale element reference: element is not attached to the page document

这似乎与使用的 for 循环有关。我尝试了隐式等待但没有运气。


先感谢您。


GCT1015
浏览 206回答 2
2回答

慕盖茨4494581

我需要一个简单break的driver.execute_script()方法之后。实际上,它正在执行__doPostBack,但是在满足if条件之后,for循环仍在执行。我需要做的就是在满足条件后退出循环,这可以通过使用中断条件来实现。
随时随地看视频慕课网APP

相关分类

Python
我要回答