python selenium list index out of range

女爷i 2022-08-28 12:53 252阅读 0赞

辅助视频教程:Python基础教程|xin3721自学网ul li id=itemtitlePython3 从入门到精通视频教程/li /ul ul li class=description Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),icon-default.png?t=L892/images/20220828/7a1901751f4e481ea43948cdb38209c6.png

#

常见错误原因

  常见错误原因

其他错误原因

  场景

    使用selenium循环打开并跳转到新的网页,然后关闭新的窗口,然后回到原来窗口,这时候获取list中的值,报错: list index out of range。

  原因

    由于打开新的窗口,导致list中的值过期了,这时候你通过 item = list[0]进行取值的话就会报这个错误,这时候你打印一下list,就会打印出来空数组

  解决

    循环的时候不再循环这个获取到的dom元素list,而是循环这个list的长度,然后每次循环开始的时候都获取一下这个list,在for循环中就可以获取元素,不会报错了

复制代码

  1. list = browser.find_elements_by_link_text("开始学习")
  2. length = len(list)
  3. print(f'循环开始前============len(list):{len(list)}')
  4. print(f'循环开始前-----------len(list):{length}')
  5. for i in range(length):
  6. list = browser.find_elements_by_link_text("开始学习")
  7. print(f'循环中============list:{list}')
  8. print(f'循环中============len(list):{len(list)}')
  9. print(f'i:{i},range(length):{range(length)}')
  10. element = list[i]
  11. print('element.click执行前')
  12. element.click()

复制代码

发表评论

表情:
评论列表 (有 0 条评论,252人围观)

还没有评论,来说两句吧...

相关阅读