3_webdriver常用api操作

序言

常用的api操作,主要分类:
①对元素的操作,常见的就是填入内容,文件上传
②对浏览器的操作,常见就是设置窗口大小,滚动条操作,窗口前进后退,关闭浏览器,获取当前url地址,网页标题,刷新网页等
③对键盘的操作,常见的就是单个按键,复合键
④对鼠标的操作,常见的左键双击(没有单击),鼠标右键
⑤对下拉框的操作,常见的找到下拉框里的选择项进行点击操作
⑥对多窗口的操作,常见的切换窗口,关闭窗口

预备条件:环境

python+selenium的webdriver

# 从selenium导入webdriver模块
from selenium import webdriver
driver = webdriver.Chrome()
# get请求目标地址
driver.get('https://www.baidu.com/')
①对元素的操作

clear():清除元素内容
send_keys():向元素输入内容
click():单击元素
text:返回元素文本
get_attribute(‘xx’):返回元素xx属性的值
submit():对于form表单,和click()效果一样,了解一下


一个例子(带文件上传)
# 普通操作
element = driver.find_element("id","su")
element.click()
# 文件上传  这个input的type类型必须得是file
uploadFile = driver.find_element("class name","uploadFile")
uploadFile.send_keys("D:\pythonStudyCode\img\selenium.jpg")
②对浏览器的操作

maximize_window():窗口最大化
minimize_windows():窗口最小化
set_window_size(width, heigth):设置窗口的大小
forward( ):窗口前进
back( ):窗口后退
close():关闭当前窗口
quit():关闭浏览器
refresh():刷新当前窗口
title:获取当前窗口的标题
current_url:获取当前窗口的url地址
page_source:获取网页源码
execute_script(“window.scrollTo(0,300);”):滚动条从从0往下滑动300
(这里用的是js脚本,就不展开,后续了解再补充)


一个例子
driver.maximize_window()
③对键盘的操作
导入Keys键盘模块

from selenium.webdriver.common.keys import Keys

Keys.BACK_SPACE,删除
Keys.SPACE,空格
Keys.TAB,横向制表符
Keys.ENTER,回车
Keys.CONTRAL,‘a’,全选
Keys.CONTRAL,‘c’,复制
Keys.CONTRAL,‘x’,剪切
Keys.CONTRAL,‘v’,粘贴


一个例子
# ctrl+a 全选输入框内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')
其他例子

https://blog.csdn.net/weixin_43968510/article/details/121048671

④对鼠标的操作
导入ActionChains鼠标操作模块

ActionChains 类
   context_click():鼠标右击
   double_click():鼠标左键双击
   move_to_element():鼠标移动到元素上,悬停

执行的命令:
 1. 重置 reset_actions
 2. 执行操作 perform()
 

一个例子
# 鼠标悬停在某个元素上
item = driver.find_element("id","s-usersetting-top")
ActionChains(driver).move_to_element(item).perform()
⑤对下拉框的操作
导入Select下拉框模块

from selenium.webdriver.support.ui import Select

select_by_index(n):通过索引匹配,获取第n+1个项
select_by_visible_text(‘text’):通过文本匹配
select_by_value(‘value’):通过value属性值匹配


一个例子
# 选择 获取下拉框的第1项
Select(driver.find_element('id','')).select_by_index(0)
其他例子

https://blog.csdn.net/weixin_43968510/article/details/121048744

⑥对多窗口的操作

window_handles:获取所有窗口的句柄(引用),返回一个列表[]
current_window_handle:获取当前窗口的句柄
switch_to.window(‘handle’):切换到指定浏览器窗口


一个例子
# 保留当前窗口的句柄
current_window = driver.current_window_handle
# 新开一个标签页
browser1.execute_script('window.open("","_blank");')
# 切换到百度窗口上下文,第二个窗口
driver.switch_to.window(driver.window_handles[1])


细节

文件上传的input的type类型必须得是file
window.open("","_blank"); js脚本打开一个新的空白窗口
一些操作记得导入对应的模块


推荐文章

https://blog.csdn.net/qq_41403559/article/details/105680019

https://www.cnblogs.com/zxycb/p/13736873.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值