selenium中的webdriver模块对浏览器进行操作

本文介绍了如何使用selenium的webdriver模块来操作浏览器,包括打开页面、元素定位(如通过id、name、class、link_text等)、xpath定位、WebElement对象的方法(如tag_name、text、is_displayed等),以及鼠标和键盘操作。此外,还提到了浏览器窗口的管理,如最大化和设置窗口大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.导入模块
from selenium import webdriver    #导入selenium模块

b = webdrive.Chrome()   #打开浏览器
b.get(‘网址’)        #打开一个页面

b.title        #判断访问元素的title
b.current_url      #查看当期的url

clear()         # 清除对象内容
submit()            #  如果有submit按钮,自动提交表单
text                     # 获取文本信息
get_attribute()             #获取属性值

b.back   #返回

 

 

2.元素定位:(参数区分大小)

find_element_by_id()    #根据id属性定位

find_element_by_name()   #根据name属性定位

find_element_by_class_name()   #根据class属性定位

find_element_by_link_text()     #根据文字链接

find_element_by_partial_link_text()   #根据文字链接的一部分(模糊查询)

find_element_by_tag_name()       #根据标签名称

find_element_by_css_selector()      #根据css选择器定位  在火狐浏览,可以用firebug直接采集

 

3.xpath定位

find_element_by_xpath()       #根据xpath定位

/xxxx    让Xpath解析引擎从文档的根节点开始解析

/xxx/yyy   让Xpath解析引擎根据绝对路径进行解析

//xxx     以//开头表示相对路径,则表示让xpath引擎从文档的任意符合的元素节点开始进行解析,这里指整个文档中查找xxx元素

//xxx/yyy   所有父元素为xxx的yyy元素

//xxx[@id]     选取所有xxx中有id属性的元素

//xxx[@id=yyy]     选取所有xxx中有id属性为yyy的元素

注:一般不推荐使用绝对路径的写法,因为一旦页面结构发生变化,该路径也随之失效,必须重新写。

Eg:  

 //form[1]/input   #查找页面上第一个form元素内的input元素

//form[@id='loginForm']/input[1]  #查找页面上id为loginForm的form元素下的第一个input元素

//input[ @name='continue'][@type='button']  #查找页面具有name属性为contiune并且type属性为button的input元素

find_element_by_xpath("//div[@class='x' and name='b']")

 

4.WebElement对象的属性和方法:   try语句做判断

tag_name             #标签名,例如'a'表示<a>元素

get_attribute(name)  # 该元素name的属性值

text                #该元素内的文本,例如<span>hello</span>中的'hello'

clear()             #对于文本字段或文本区域元素,清除其中输入的文本

is_displayed()       #如果该元素可见,返回True,否则返回False

is_enabled()        #对于输入元素,如果该元素启用,返回True,否则返回False

is_selected()       #对于复选框或单选框元素,如果该元素被选中,返回True,否则返回False

location            #一个字典,包含键'x'和'y',表示该元素在页面上的位置

 

 

5.鼠标操作:导入ActionChains包
from selenium.webdriver.common.action_chains import ActionChains

context_click       #右击
double_click       #双击
grag_and_drop        #拖动
move_to_element()        #鼠标停在某一元素上
click_and_hold              按下鼠标左键在某一元素上

 

6.键盘操作:(引入keys包)
from selenium.webdriver.common.keys import Keys

send_keys(123)  #模拟按键输入123
send_keys(Keys.BACK_SQPCE)        #退格键

send_keys(Keys.CONTRL,‘a’)          #全选

send_keys(Keys.CONTRL,‘c’)         #复制

send_keys(Keys.CONTRL,‘v’)         #粘贴

send_keys(Keys.CONTRL,‘x’)         #剪贴

send_keys(Keys.ENTER)                #回车

Perform()                  #执行

 

 

7.浏览器的操作:
driver.maximize_window()   #最大化
driver.set_window_size(width,height)    #设置宽和高

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值