• web自动化总结


    【1】.浏览器存在多个页面时,切换到自己需要页面的方法
    1) #获取浏览器所有页面列表
    handles=self.driver.window_handles
    #从所有页面中选择自己需要的页面(下标从0开始)
    handle1=self.driver.switch_to_window(handles[1])
    2)或者通过for循坏找到对应的title

    【3】浏览器滚动到页面低端,顶端,到自己需要的元素出现方法

    网上查询到实现方法(使用火狐浏览器的时候可以实现,使用Chrome浏览器的时候未能实现):

    #coding=utf-8
    from selenium import webdriver
    import time
        
    #访问百度
    driver=webdriver.Firefox()
    driver.get("http://www.baidu.com")
        
    #搜索
    driver.find_element_by_id("kw").send_keys("selenium")
    driver.find_element_by_id("su").click()
    time.sleep(3)
        
    #将页面滚动条拖到底部
    js="var q=document.documentElement.scrollTop=10000"
    driver.execute_script(js)
    time.sleep(3)
        
        
    #将滚动条移动到页面的顶部
    js="var q=document.documentElement.scrollTop=0"
    driver.execute_script(js)
    time.sleep(3)
        
    driver.quit()

    使用下面的方法可以实现:

    driver=webdriver.Chrome()
    driver.maximize_window()
    driver.get('https://www.baidu.com/')
    driver.find_element_by_id('kw').send_keys('selenium')
    driver.find_element_by_id('su').click()
    time.sleep(3)
    #滑动到底部
    driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")
    time.sleep(2)
    #滑动到顶部
    driver.execute_script("window.scrollTo(0,0)");
    time.sleep(5)
    #如果页面元素需要加载才会显示,用以下方法
    target = driver.find_element_by_id("id_keypair")
    driver.execute_script("arguments[0].scrollIntoView();", target) #拖动到可见的元素去
  • 相关阅读:
    LINUX系统运行查看
    MySQL数据库中tinyint类型字段读取数据为true和false (MySQL的boolean和tinyint(1))
    mysql DATE_FORMAT 年月日时分秒格式化
    fastJson泛型如何转换
    查找java程序进程快速指令jps
    vim快捷键
    mysql全库搜索指定字符串
    mysql一次性删除所有表而不删除数据库
    一键安装Docker图形化管理界面-Shipyard
    hadoop性能测试
  • 原文地址:https://www.cnblogs.com/zzzao/p/8651374.html
Copyright © 2020-2023  润新知