首页 > 解决方案 > Python Selenium:StaleElementReferenceException / 设置 aria-pressed = "true"

问题描述

我正在使用 Python Selenium 尝试从网站获取一些数据,并且需要更改日期。

在此处输入图像描述

我尝试了以下方法:获取包含所有日期的表格并遍历所有 tds。如果出现正确的日期,请单击。不幸的是,这不起作用。它打印正确的数字,但它没有点击它应该或任何一个。

day_table = depar_date.find_element_by_xpath("/html/body/div[8]/section/div/div/div[2]/div/table/tbody")
day_table.click()

for row in test.find_elements_by_css_selector('tr'):
    for cell in row.find_elements_by_tag_name('td'):
        print(cell.text)
        if cell.text == "15":
            cell.click()

我收到以下错误消息:

StaleElementReferenceException:陈旧的元素引用:元素未附加到页面文档

我还看到对于选定的日子 aria-pressed = "true",有没有办法为正确的日子设置这个 "true"?

非常感谢您的帮助。

标签: pythonselenium

解决方案


我猜您需要对按钮本身执行操作,而不是“tr”元素,因为事件侦听器在按钮上。您能否尝试执行以下操作并让我知道会发生什么:

 depar_date.find_element_by_xpath("//td/button[text()="15"]").click()

推荐阅读