当前位置 博文首页 > 白雪冬的博客:窗口截图+警告框+鼠标事件+键盘事件+内嵌网页处理
# -*- 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()
# -*- 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