Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)

最近有个想法就是设置自动登陆某个网站,可是一直报NoSuchElementException异常异常,但我直接打开开发模式(F12)定位元素发现元素是可以定位到的。(PS:这里以126邮箱为例)

Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)

定位到了,而且唯一,但是执行就是会报错

Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)

后来百度一下是应为这个元素在IFRAME标签中,那就需要用到以下的情况了。

Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)

需要使用driver.switch_to_frame('x-URS-iframe')#需先跳转到iframe框架,然后进行定位,代码如下:

Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)

这里有个坑,需要注意下:

Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)

driver.switch_to.frame(frame_reference)等同于driver.switch_to_frame('x-URS-iframe')

这里有个链接:提供给大家参考switch_to的包的详解方法

https://blog.csdn.net/ccggaag/article/details/76652274