2018-05-18

作者: 往你头上敲三下 | 来源:发表于2018-05-21 13:51 被阅读0次

1.iframe切换

方法:switch_to_frame(frame_reference)

iframe是在一个web页面中又嵌入了一个页面,此时直接定位用户名验证码元素是定位不到的,必须切换到这个iframe页面中才能定位到这两个元素。

复制src后面的链接地址到浏览器打开,可以发现就是内嵌的登录页面

具体实现脚本如下:

# iframe切换

from selenium import webdriver

driver = webdriver.Chrome()

def login(url, username, passwd):

    driver.get(url)

    driver.switch_to_frame('iframeLoginIfm')

    driver.find_element_by_id('phoneIpt').send_keys(username)

    driver.find_element_by_id('smsIpt').send_keys(passwd)

    driver.find_element_by_id('smsSubmitBtn').click()

url = 'https://login.anjuke.com/login/form'

username  = '17672166446'

passwd = '123456'

login(url,username,passwd)

2.隐式等待

# 隐式等待10s,即当前函数内部每次执行完一个操作后等待10s

driver.implicitly_wait(10)

3.css定位技巧

百度“helloworld”,定位搜索出来的第一条内容,浏览器开发模式下,定位到该链接的上级标签为h3,该标签的class为“t c-gap-bottom-small”,而第一条搜索结果在h3标签下的a标签中。所以该元素的定位css格式即为“.t.c-gap-bottom-small > a”

相关文章

网友评论

    本文标题:2018-05-18

    本文链接:https://www.haomeiwen.com/subject/qiogdftx.html