当前位置 博文首页 > 白雪冬的博客:窗口截图+警告框+鼠标事件+键盘事件+内嵌网页处理

    白雪冬的博客:窗口截图+警告框+鼠标事件+键盘事件+内嵌网页处理

    作者:[db:作者] 时间:2021-09-14 10:15

    窗口截图+警告框+鼠标事件+键盘事件+内嵌网页处理+多标签页处理

    窗口截图
    # -*- coding: utf-8 -*-
    # @Author:lsf
    # @File:1窗口截图 
    # @Time:2021/7/19
    # @Email:2795849212@qq.com
    # @Software:PyCharm
    
    # 导入 selenium的包
    from selenium import webdriver
    
    # 得到一个 driver对象
    driver = webdriver.Chrome()
    
    # 打开百度
    driver.get('https://www.baidu.com')
    
    # 隐士等待 10 秒
    driver.implicitly_wait(10)
    
    # 截图
    driver.get_screenshot_as_file('../images/11.png')
    
    # 关闭浏览器
    driver.quit()
    
    警告框
    # -*- coding: utf-8 -*-
    # @Author:lsf
    # @File:2警告框 
    # @Time:2021/7/19
    # @Email:2795849212@qq.com
    # @Software:PyCharm
    
    # 导入 selenium的包
    from selenium import webdriver
    import time
    
    # 得到一个 driver对象
    driver = webdriver.Chrome()
    
    driver.get('D:\\songqin\daima\seleniumfuxi1\day4\\test1.html')
    driver.implicitly_wait(10)
    
    # # 点击弹出框 确定按钮
    # driver.find_element_by_id('bu1').click()
    # time.sleep(2)
    #
    # # 得到弹出框对象
    # ele = driver.switch_to.alert
    # # 弹出框点击
    # ele.accept()
    
    # # 点击弹出框 取消
    # driver.find_element_by_id('bu2').click()
    # time.sleep(2)
    # # 得到弹出框对象
    # ele = driver.switch_to.alert
    # # 点击取消
    # ele.dismiss()
    
    # 点击弹出框输入内容
    driver.find_element_by_id('bu3').click()
    # 得到弹出框对象
    ele = driver.switch_to.alert
    
    # 输入内容
    ele.send_keys('6666')
    time.sleep(2)
    # 点击确定
    ele.accept()
    
    # 由于操作过快、让等待两秒
    time.sleep(2)
    
    # 关闭浏览器
    driver.quit()
    
    鼠标事件
    # -*- coding: utf-8 -*-
    # @Author:lsf
    # @File:3鼠标事件 
    # @Time:2021/7/19
    # @Email:2795849212@qq.com
    # @Software:PyCharm
    
    # 先导入 selenium需要的包
    from selenium import webdriver
    # 导入鼠标事件需要的action类
    from selenium.webdriver.common.action_chains import ActionChains
    import time
    
    # 得到一个 driver对象
    driver = webdriver.Chrome()
    
    # 打开百度
    driver.get('https://www.baidu.com')
    
    # 隐士等待10秒
    driver.implicitly_wait(10)
    
    # 先定位到 更多 元素
    ele = driver.find_element_by_name('tj_briicon')
    
    # 鼠标悬浮操作  perform()的作用为执行
    ActionChains(driver).move_to_element(ele).perform()
    
    # 双击
    # ActionChains(driver).double_click(ele).perform()
    
    # 右击
    # ActionChains(driver).context_click(ele).perform()
    
    # 从这个元素拖动到另外一个元素
    # ActionChains(driver).drag_and_drop(ele).perform()
    
    # 等待两秒、更加容易看到效果
    time.sleep(2)
    
    # 关闭浏览器驱动对象
    driver.quit()
    
    键盘事件
    # -*- coding: utf-8 -*-
    # @Author:lsf
    # @File:4键盘事件 
    # @Time:2021/7/19
    # @Email:2795849212@qq.com
    # @Software:PyCharm
    
    # 先导入 selenium需要的包
    from selenium import webdriver
    # 导入key
    from selenium.webdriver.common.keys import Keys
    import time
    
    # 得到一个driver对象
    driver = webdriver.Chrome()
    
    # 打开百度
    driver.get('https://www.baidu.com')
    
    # 定位输入框
    input_text = driver.find_element_by_id('kw')
    input_text.send_keys('python')
    
    # 全选操作 ctrl + a
    input_text.send_keys(Keys.CONTROL, 'a')
    time.sleep(2)
    
    # 粘贴操作 ctrl + c
    input_text.send_keys(Keys.CONTROL, 'c')
    time.sleep(2)
    # 剪切操作 ctrl + x
    input_text.send_keys(Keys.CONTROL, 'x')
    time.sleep(2)
    # 粘贴操作 ctrl + v
    input_text.send_keys(Keys.CONTROL, 'v')
    time.sleep(2)
    
    # 回车
    input_text.send_keys(Keys.ENTER)
    time.sleep(2)
    
    # 删除
    input_text.send_keys(Keys.BACK_SPACE)
    
    
    # 关闭浏览器驱动
    driver.quit()
    
    iframe切换
    # -*- coding: utf-8 -*-
    # @Author:lsf
    # @File:5iframe切换 
    # @Time:2021/7/20
    # @Email:2795849212@qq.com
    # @Software:PyCharm
    
    # 导入selenium的包
    from selenium import webdriver
    import time
    
    # 得到driver对象
    driver = webdriver.Chrome()
    
    # 打开有 iframe
    driver.get('D:\\songqin\daima\seleniumfuxi1\day4\\test3.html')
    
    # 隐士等待10秒
    iframeEle = driver.find_element_by_css_selector('iframe:nth-child(3)')
    
    # 切入进入iframe网页
    driver.switch_to.frame(iframeEle)
    
    # 输入搜索框内容
    driver.find_element_by_id('kw').send_keys('6666')
    
    time.sleep(2)
    
    # 最后在从 iframe里面返回出去
    driver.switch_to.default_content()
    
    # 关闭浏览器驱动对象
    driver.quit()
    
    多标签页切换
    # -*- coding: utf-8 -*-
    # @Author:lsf
    # @File:6多标签页切换 
    # @Time:2021/7/20
    # @Email:2795849212@qq.com
    # @Software:PyCharm
    
    # 先到入selenium的包
    from selenium import webdriver
    import time
    
    # 得到一个 driver对象
    driver = webdriver.Chrome()
    
    # 访问网址
    driver.get("http://www.baidu.com")
    
    # 找到搜索按钮
    input_element = driver.find_element_by_id("kw")
    # 输入搜索内容
    input_element.send_keys("松勤\n")
    time.sleep(1)
    
    # 获取当前所有的句柄
    handls = driver.window_handles
    
    # 遍历所有的句柄
    for handl in handls:
    
    	 # 进入句柄
        driver.switch_to.window(handl)
    
        if driver.title == '':
            print('证明找到了当前句柄')
    
    
    time.sleep(5)
    # 关闭浏览器驱动
    driver.quit()
    
    
    

    补充、比如滑动浏览器

    #将页面滚动条拖到底部
    
    js="var q=document.documentElement.scrollTop=100000"
    
    driver.execute_script(js)
    
    time.sleep(3)
    
    #将滚动条移动到页面的顶部
    
    js="var q=document.documentElement.scrollTop=0"
    
    driver.execute_script(js)
    
    time.sleep(3)
    
    #将页面滚动条移动到页面任意位置,改变等于号后的数值即可
    
    js="var q=document.documentElement.scrollTop=50"
    
    driver.execute_script(js)
    
    cs