一、浏览器操作
1、设置浏览器缩放大小
from selenium import webdriver
import time
# 打开浏览器
driver=webdriver.Edge("D:\driver\msedgedriver.exe")
# driver= webdriver.Chrome("D:\driver\chromedriver.exe")
# 设置浏览器最大化
driver.maximize_window()
# 设置隐式等待
driver.implicitly_wait(10)
# 打开网页
driver.get("https://www.baidu.com/")
time.sleep(2)
# 设置宽和高
driver.set_window_size(480,800)
2、浏览器的前进和后退
#后退
driver.back()
time.sleep(3)
#前进
driver.forward()
3、浏览器的刷新
#刷新
driver.refresh()
二、webdriver常见方法
1、元素的点击、文本内容的清除、输入
元素点击:click()
内容清除:clear()
内容输入:send_keys()
from selenium import webdriver
import time
# 打开浏览器
# driver=webdriver.Edge("D:\driver\msedgedriver.exe")
driver= webdriver.Chrome()
# 设置浏览器最大化
driver.maximize_window()
# 设置隐式等待
driver.implicitly_wait(10)
# 打开网页
driver.get("https://www.baidu.com/")
# 定位搜索框
serch_element=driver.find_element_by_id('kw')
# 输入内容
serch_element.send_keys("九阳真经")
time.sleep(3)
# 先讲之前输入的内容删除掉
serch_element.clear()
time.sleep(3)
serch_element.send_keys("乾坤大挪移")
time.sleep(3)
# 点击百度一下
driver.find_element_by_id('su').click()
2、submit提交表单
submit:可以用于表单的提交,可以子啊某些时候达到和click互换的效果
# 定位搜索框
serch_element=driver.find_element_by_id('kw')
# 输入内容
serch_element.send_keys("九阳真经")
# 直接使用submit进行提交
serch_element.submit()
3、其它方法
size:返回元素的尺寸
# 返回搜索框元素的大小{'height': 38, 'width': 503}
print(serch_element.size)
text:获取元素的文本
# 获取好123按钮的文本信息
button_element=driver.find_element_by_css_selector('a[href="https://www.hao123.com?src=from_pc"]').text
print(button_element)
get_attribute(name):获得属性值
time.sleep(3)
# 获取 百度一下 这个歌按钮元素的value属性的值
button_value=driver.find_element_by_id('su').get_attribute("value")
print(button_value)
is_displayed():设置该元素是否用户可见
在页面上是否可以看见该元素,如果能看到,则返回true,否则返回False
# 判断 百度一下 这个按钮是否可见
button_element=driver.find_element_by_id('su')
#一般使用场景,有时候页面会有弹窗,我们可以判断,如果弹窗可见(弹窗显示出来了),则就需要处理弹窗
print(button_element.is_displayed())
三、鼠标事件
在webDriver中,将这些关于鼠标操作的方法封装在ActionChains类提供,ActionChains类提供了鼠标操作的常用方法:
-
perform():执行所有ActionChains中存储的行为
-
context_click():右击
-
double_click():双击
-
drag_and_drop():拖动
-
move_to_element():鼠标悬停
# 导入ActionChains这个类
from selenium.webdriver.common.action_chains import ActionChains
四、键盘事件
#常见的键盘操作
# send_keys(Keys.BACK_SPACE)删除键
# send_keys(Keys.SPACE)空格键
# send_keys(Keys.TAB)制表键
# send_keys(Keys.ESCAPE)回退键
# send_keys(Keys.ENTER)回车键
# send_keys(Keys.CONTROL,'a')全选
# send_keys(Keys.CONTROL,'c')复制
# send_keys(Keys.CONTROL,'x')剪切
# send_keys(Keys.CONTROL,'v')粘贴
# send_keys(Keys.F1)键盘F1
# ....
# send_keys(Keys.F12)键盘F12
删除多个字母
#删除多余m,调用删除键
# Keys.BACK_SPACE只能删除一个字母,要删除多个字母,需要乘积
serach_box.send_keys(4*Keys.BACK_SPACE)