Mayi_Selenium登录126邮箱,定位不到账号输入框解决办法

Posted qingxin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mayi_Selenium登录126邮箱,定位不到账号输入框解决办法相关的知识,希望对你有一定的参考价值。

转自:https://www.cnblogs.com/wuhl-89/p/7778463.html

查看元素发现id为动态,所以不选择以id定位。

 

使用xpath路径定位,每次获取元素都失败,最后网上查了下发现其嵌套在表单frame/iframe中,所以我们先要进入frame/iframe中,然后再定位

 

frame/iframe的定位方式有3种,一是通过id;二是通过name;三是xpath

 

例:switch_to_frame(id)  ; 或是  switch_to_frame(name);若frame没有id和name,只能是通过xpath方式定位到frame,switch_to_frame(xpath)

 

 

代码如下:

复制代码
 1 from selenium import webdriver
 2 import time
 3 
 4 url = \'http://www.126.com\'
 5 driver = webdriver.Firefox()
 6 driver.get(url)
 7 driver.switch_to.frame("x-URS-iframe")  #进入到表单中
 8 time.sleep(5)
 9 #使用Xpath定位
10 driver.find_element_by_xpath(\'/html/body/div[2]/div[2]/div[2]/form/div/div[1]/div[2]/input\').send_keys(\'11111\')
复制代码

 以上可以解决Firefox的问题,但是在Chrome上却找不到frame

 

Chrome解决办法:

driver.switch_to.frame("x-URS-iframe")这个括号内可以写入frame的序号,如有多个frame,最外层的为0,里面为1,以此类推。
所以 driver.switch_to.frame(0),这样就可以了。

以上是关于Mayi_Selenium登录126邮箱,定位不到账号输入框解决办法的主要内容,如果未能解决你的问题,请参考以下文章

使用selenium自动登录126/163邮箱并发送邮件

python2+selenium+mail,自动登录126邮箱

数据驱动方式登录126邮箱

python webdriver 显示等待-自动登录126邮箱,添加联系人

未解决的问题,登录163邮箱http://mail.163.com/,用xpath的方式定位密码输入框的时候,总是报找不到该元素

selenium 模仿腾讯邮箱登录