2018-05-18

1.iframe切换

方法:switch_to_frame(frame_reference)

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


2018-05-18_第1张图片

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


2018-05-18_第2张图片


具体实现脚本如下:

# 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)

2018-05-18_第3张图片


3.css定位技巧

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

2018-05-18_第4张图片

你可能感兴趣的:(2018-05-18)