Python+Selenium 控制浏览器

  • 作者:lwj
  • 分类:Selenium
  • 发表日期:2019-10-11 23:03:39
  • 阅读(601)
  • 评论(0)

控制浏览器

driver.forward()                       # 浏览器前进
driver.back()                          # 浏览器后退
driver.refresh()                       # 刷新页面
driver.set_window_size(480,800)        # 设置窗口大小
driver.maximize_window()               # 最大化窗口
driver.close()                         # 关闭当前窗口
driver.quit()                          # 退出浏览器

鼠标事件

通过ActionChains类提供的方法模拟鼠标操作(单击、拖动和悬停等)

鼠标单击:

driver.find_element_by_id('xx').click()

模拟鼠标其他操作方式和鼠标单击写法略有不同,操作剖析:将浏览器驱动driver传参到ActionChains()类,将定位元素传参到执行的方法中,perform:执行ActionChains中储存的行为,可以理解为整个操作的提交动作

# 导入鼠标操作的ActionChains类
from selenium.webdriver.common.action_chains import ActionChains


element = driver.find_element_by_id('xx')                        # 定位的元素

ActionChains(driver).context_click(element).perform()            # 鼠标右击

ActionChains(driver).move_to_element(element).perform()          # 鼠标悬停

ActionChains(driver).double_click(element).perform()             # 鼠标双击

element = driver.find_element_by_id('xx')                        # 拖动的源元素
target  = driver.find_element_by_id('yy')                        # 释放的目标位置
ActionChains(driver).drag_and_drop(element,target).perform()     # 鼠标拖拽

键盘事件

通过Keys类提供的方法模拟键盘输入

模拟按键输入:driver.find_element_by_id("kw").send_keys("python")

清空输入框文本:driver.find_element_by_id("kw").clear()

提交表单(回车键):driver.find_element_by_id("kw").submit()

# 导入键盘操作的Keys类
from selenium.webdriver.common.keys import Keys
 
# 退格键(BackSpace)
driver.find_element_by_id('kw').send_keys(Keys.BACK_SPACE)
 
# 空格键(Space)
driver.find_element_by_id('kw').send_keys(Keys.SPACE)
 
# 制表键(Tab)
driver.find_element_by_id('kw').send_keys(Keys.TAB)
 
# 回车键(Enter)
driver.find_element_by_id('kw').send_keys(Keys.ENTER)
 
# ctrl+a(全选)
driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'a')
 
# ctrl+x(剪切)
driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'x')
 
# ctrl+c(复制)
driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'c')
 
# ctrl+v(粘贴)
driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'v')
 
# 键盘F1
driver.find_element_by_id('kw').send_keys(Keys.F1)

#键盘F12
driver.find_element_by_id('kw').send_keys(Keys.F12)

 

觉得不错,支持一下!

提交评论

您尚未登录,登录之后方可评论~ 登录 or 注册

评论列表

暂无评论
返回顶部

建议反馈

1. 可在博文底部留言评论

2. 发邮件到i_suichuan@163.com