当前位置: 首页 > 知识库问答 >
问题:

当我尝试使用for循环单击所有链接时,Selenium显示陈旧错误?

闻人高卓
2023-03-14

all_divs包含我得到的所有链接。我需要点击它们,但当我尝试点击它们时,selenum会抛出一个陈旧的错误:

“Selenium.Common.Exceptions.StaleElementReferenceException:消息:的元素引用已过时;该元素不再附加到DOM,不在当前帧上下文中,或者文档已刷新。”

link_div = driver.find_elements_by_css_selector("div[id='sidebar1269']")[0]


        all_divs  = link_div.find_elements_by_css_selector("div>a:last-of-type")

        print(all_divs[0])

        for i in all_divs:
            i.click()

共有1个答案

呼延景同
2023-03-14

在不知道html可能给出更有效的答案的情况下,这应该可以得到您想要的结果。单击链接后,dom很可能会被更新/更改,因此您需要在单击之前重新找到元素。

link_div = driver.find_elements_by_css_selector("div[id='sidebar1269']")[0]

number_of_divs  = len(link_div.find_elements_by_css_selector("div>a:last-of-type"))

for i in range(number_of_divs):
    link_div = driver.find_elements_by_css_selector("div[id='sidebar1269']")[0]
    link_div.find_elements_by_css_selector("div>a:last-of-type")[i].click()
 类似资料:
  • 问题内容: 请单击下面的链接以查看我单击 ****1 的链接 “ BEAUTY” 。我正在使用此代码单击“ Beauty”链接 成功单击链接后,出现以下异常,有人可以告诉我为什么得到它吗? 问题答案: 试试这个:

  • 我必须提取表列“付款日期”中提到的每个日期的报告。每个日期都是报告的链接。所以,我一个接一个地点击所有日期以下载报告。 所以,这里的过程是,当我点击一个日期,它将下载该日期的报告。然后,我将单击“下一个日期”以获取该日期的报告。所以,我做了一个for循环来循环所有的链接,并得到所有日期的报告。 但它给了我一个陈旧的元素例外。单击第一个日期后,无法单击下一个日期。我遇到了错误和代码停止。 我该怎么解

  • 因此,我正在尝试访问一个搜索页面,其中涉及单击页面底部的可点击链接。我的代码似乎能够找到链接,或者至少在尝试时不会抛出错误,但是我得到了错误“属性错误:'WebElement'对象没有属性'Click'”,即使该元素在页面上是物理可点击的。这是代码和网站。 如果我错误地认为这个元素是可点击的,请让我知道。为了清楚起见,我试图点击链接“搜索网页底部的COSEWIC状态报告”https://www.c

  • 在selenium中,在python中,我必须循环使用Jira1、jira2、jira3链接 对于范围(1,4)中的i: driver.find_element(By.XPATH,"//a[text()='Jira'] /str(i)")。 它给了我一个错误NoSuchElementException:没有这样的元素:无法定位元素:{“方法”:“xpath”,“选择器”:“//a[text()='

  • 列出所有国家和语言后,我想导航到下一页。下面是我正在使用的代码。通过这段代码,我获得了第一个国家的数据,之后我得到了陈旧的异常。 组织。openqa。硒。StaleElementReferenceException:StaleElement引用:元素未附加到页面文档(会话信息:chrome=52.0.2743.116)(驱动程序信息:chromedriver=2.16.333243(0bfa1d3

  • 问题内容: 下午全部。当前尝试使用Selenium Webdriver循环浏览页面上的链接列表。具体来说,它是单击链接,从所述页面上抓取一行文本以写入文件,然后返回,然后单击列表中的下一个链接。以下是我所拥有的: 运行时,它会转到初始页面,然后返回主页面,而不是应有的子页面。打印x,我可以看到它递增了三倍而不是一倍。此后它也崩溃。我已经检查了所有的xpath等,并确认列表中的链接数得到了正确的计数