白程序员 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 求一下解题思路,完全不懂
  • ¥15 tensorflow
  • ¥15 densenet网络结构中,特征以cat方式复用后是怎么进行误差回传的
  • ¥15 STM32G471芯片spi设置了8位,总是发送16位
  • ¥15 R语言并行计算beta-NTI中tree文件的类型
  • ¥15 如何解读marsbar导出的ROI数据?
  • ¥20 求友友协助弄一下基于STC89C52单片机的声光控制灯原理图
  • ¥15 arduino双向交通灯设计
  • ¥15 有没有会粒子群算法的大能(○゜ε^○)求带不会出收敛图😭
  • ¥15 Matlab读取根元素出错