Oneday0 发表于 2023-3-5 19:56

python selenium 页面返回后元素过时

我将获取到的元素列表通过for循环依次模拟点击,但在返回后报错StaleElementReferenceException: stale element reference: element is not attached to the page document,求教应用什么方法解决?


kof21411 发表于 2023-3-5 20:54

如果元素存在的,那里元素可能在窗口可视范围外,可以无法点击

wangtietou 发表于 2023-3-6 00:40

可以试试js执行click
ele= browse.find_element(By.CLASS_NAME,"icon-back")
browse.execute_script("arguments.click();", ele)

Oneday0 发表于 2023-3-6 01:13

urls=endlist.find_elements(By.XPATH,'//dd[@class="hovergray"]/..')
    # print(urls)
    for url in urls:
      url.click()
      time.sleep(1)
      div=browser.find_element(By.CLASS_NAME,'list-container').text
      print(div)
      browser.find_element(By.CLASS_NAME,'icon-back').click()
      # browser.back()
      time.sleep(2)

Oneday0 发表于 2023-3-6 01:16

页面后退或者刷新后,element的值会发生变化,导致之前保存的没用,应该是这样,但不知道怎么解决,如果每次都重新定位的话,感觉变复杂了。
页: [1]
查看完整版本: python selenium 页面返回后元素过时