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