• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

python selenium list index out of range

python 搞java代码 3年前 (2022-05-21) 33次浏览 已收录 0个评论
文章目录[隐藏]

常见错误原因

  常见错误原因

 

其他错误原因

  场景

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

  原因

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

  解决

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

list = browser.find_elements_by_link_text(<span>"</span><span>开始学习</span><span>"</span><span>)
length </span>=<span> len(list)
</span><span>print</span>(f<span>"</span><span>循环开始前============len(list):{len(list)}</span><span>"</span><span>)
</span><span>print</span>(f<span>"</span><span>循环开始前-----------len(list):{length}</span><span>"</span><span>)
</span><span>for</span> i <span>in</span><span> range(length):
    list </span>= browser.find_elements_by_link_text(<span>"</span><span>开始学习</span><span>"</span><span>)
    </span><span>print</span>(f<span>"</span><span>循环中============list:{list}</span><span>"</span><span>)
    </span><span>print</span>(f<span>"</span><span>循环中============len(list):{len(list)}</span><span>"</span><span>)
    </span><span>print</span>(f<span>"</span><span>i:{i},range(length):{range(length)}</span><span>"</span><span>)
    element </span>=<span> list[i]
    </span><span>print</span>(<span>"</span><span>element.click执行前</span><span>"</span><span>)
    element.click()</span>

www#gaodaima.com来源gaodai#ma#com搞*代#码网搞代码

 


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python selenium list index out of range
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址