白程序员 2021-07-27 11:56 采纳率: 65.8%
浏览 60
已结题

selenium报错说陈旧的元素引用 求解

img

img

# 点击登录平台
s1 = bro.find_element_by_xpath('//*[@id="app"]/div/div/div[2]/div/div[1]/div[1]/ul/span/li[7]')

s1.click()

n = bro.window_handles  # 这个时候会生成一个新窗口或新标签页的句柄,代表这个窗口的模拟driver
print('当前句柄: ', n)  # 会打印所有的句柄
bro.switch_to_window(n[-1])  # driver切换至最新生产的页面
# 进入管理平台页面
s2 = bro.find_element_by_xpath('//*[@id="app-aside"]/div/div[1]/div/ul/div[5]/li')
s2.click()

# 从这里开始一直循环 自动领取教辅
while True:
    # 点击教辅列表
    s3 = bro.find_element_by_xpath('//*[@id="tab-list"]')
    s3.click()

    # 点击审核状态
    s4 = bro.find_element_by_xpath('//*[@id="pane-list"]/form/div[2]/div/div/div/input')
    s4.click()

    # 点击待审核选项
    s5 = bro.find_element_by_xpath('/html/body/div[2]/div[1]/div[1]/ul/li[1]')
    s5.click()

    # 点击查询
    s6 = bro.find_element_by_xpath('//*[@id="pane-list"]/form/button')
    s6.click()

    # 点击审核
    s7 = bro.find_element_by_xpath('//*[@id="pane-list"]/div[1]/div[3]/table/tbody/tr[3]/td[4]/div/button')
    s7.click()


   ** # 点击审核能跳到新页面,但是我获取页面数据还是前一个页面数据不是新页面的,还报错说陈旧元素引用**
    page_text = bro.page_source

    with open('审核.html', 'w', encoding='utf-8')as fp:
        fp.write(page_text)

  • 写回答

1条回答 默认 最新

  • 江天暮雪丨 2021-07-27 13:05
    关注

    点击“审核”后,要不试试等个几秒再获取页面源码?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月24日
  • 已采纳回答 8月16日
  • 创建了问题 7月27日

悬赏问题

  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿