用python获取126邮箱输入框
根据实例想试试python登录邮箱的功能,结果被126卡住了,参考文档的获取元素代码如下,运行之后系统报错,我用IDE定位了一下,发现126的输入框ID是自动变化的,截图已附上,使用firebug获取的话也是读到这个自动的ID,求教这种情况下应该怎么获取定位呢?driver.find_element_by_id("pwdInput").clear()
driver.find_element_by_id("pwdInput").set_keys("ming0306")
driver.find_element_by_id("LoginBtn").click()
file:///C:\Users\yaowenyue\AppData\Roaming\Tencent\Users\1710320465\QQ\WinTemp\RichOle\M3N)_G65L`JQSR_()04WH98.png
可以换其他方式定位,比如用driver.find_element_by_name("name属性的值")或者driver.find_element_by_class_name("class属性的值")
你可以试试下面代码
#coding=utf-8
from selenium import webdriver
driver= webdriver.Firefox()
driver.maximize_window()
driver.get("http://mail.126.com/")
driver.implicitly_wait(30)
driver.switch_to_frame("x-URS-iframe")
driver.find_element_by_name("email").clear()
driver.find_element_by_name("email").send_keys("用户名")
driver.find_element_by_name("password").clear()
driver.find_element_by_name("password").send_keys("密码")
driver.find_element_by_id("dologin").click()
掉渣饼 发表于 2016-6-28 13:19
可以换其他方式定位,比如用driver.find_element_by_name("name属性的值")或者driver.find_element_by_class ...
好用,你真是太厉害了,我看论坛里好多问题都是你解决的:lol 掉渣饼 发表于 2016-6-28 13:19
可以换其他方式定位,比如用driver.find_element_by_name("name属性的值")或者driver.find_element_by_class ...
好用,你真是太厉害了,我看论坛里好多问题都是你解决的:lol,非常感谢!! 总结一下,重点是‘driver.switch_to_frame("x-URS-iframe")’定位到子页面,我之前用name和class都失败的原因就是没有定位到iframe,其他元素标识不唯一,导致定位不了,然后不能用id查找,因为id是插件自动生成的,每次进去都不一样。 :'(捣鼓好半天,终于在这里找到答案
页:
[1]