繁体   English   中英

Selenium Python:StaleElementReferenceException有所不同

Selenium Python: StaleElementReferenceException with a twist

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我遇到了与硒有关的臭名昭著的StaleElementReferceExeption错误。 我已经检查了有关该主题的先前问题,并且常见的解决方案是添加和implicit.wait,explicit.wait或time.sleep来给网站加载时间。 我已经尝试过了,但是仍然遇到错误。 谁能说出问题所在

这是我的代码:

links = driver.find_elements_by_css_selector("a.overline-productName")


    time.sleep(2)
    #finds pricing data of links on page
    link_count = 0
    for element in links:

        links[link_count].click()
        cents = driver.find_element_by_css_selector("span.cents")
        dollar = driver.find_element_by_css_selector("span.dollar")
        text_price = dollar.text + "." + cents.text
        price = float(text_price)
        print(price)
        print(link_count)
        driver.execute_script("window.history.go(-1)")
        link_count = link_count + 1
        time.sleep(5)

我想念什么?

1 个回复

您正在将链接存储在列表中。 第二个您跟随到另一个页面的链接,那组链接是陈旧的。 因此,循环中的下一个迭代将尝试从列表中单击陈旧的链接。

即使您像稍后那样返回历史记录,该原始元素引用也已消失。

最好的选择是根据索引进行遍历,并在每次返回页面时找到链接。

4 Selenium + Python上的StaleElementReferenceException

我试图运行代码,每次都出现“ StaleElementReferenceException”错误,这使我的生活变得井井有条。 代码如下: 而DropDownAddresses文件是这样的: 现在的问题是,在完成“健康和美容”下拉列表的处理后,我想切换到“电子”下拉列表,并且向我 ...

5 使用Python的Selenium中的StaleElementReferenceException

这是我尝试在其中单击Selenium按钮的代码。 我正在等待按钮可单击,但是当我实际尝试单击按钮时,出现了陈旧的元素错误。 任何帮助将不胜感激,因为我从现有的堆栈溢出帖子中尝试了几种不同的解决方案而没有运气! 更新: 这工作 ...

6 在 Python 中使用 Selenium 的 StaleElementReferenceException

是的,我知道这种类型的问题以前已经回答过很多次了,但没有一个对我有帮助。 其实我不太了解,所以需要你的帮助! 我的问题:我正在浏览一个网站,它需要一个 CAPTCHA 来搜索每个输入。 所以我使用 FireFox 作为我的浏览器,因为它一次要求验证码并且没有改变它。 我的代码要求用户一次验证码,然 ...

8 Selenium和StaleElementReferenceException

我正在使用Selenium 3.9.1和Java来自动测试Web应用程序。 Web应用程序具有一些动态内容,例如基于按钮的按下。 单击此按钮时,页面将刷新。 一个Java脚本在单击按钮时运行,并更新了我认为的DOM。 这时,当我尝试访问按钮(在页面上可见)时,出现了staleElemen ...

9 如何避免Selenium中的StaleElementReferenceException-Python

我一直在写Python Selenium脚本,似乎无法令人满意地解决此StaleElementReferenceException问题。 我已加载页面,然后单击一个按钮,该按钮打开一个表单,该表单允许用户向订单添加新的信用卡。 此时,我执行WebDriverWait来暂停脚本,直到此表单 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM