selenium 基本语句。0809

1.浏览器驱动对象

(1)库的导入

from selenium import  webdriver

(2)创建浏览器对象

driver = webdriver.Chrome()

使用dir(driver)查看方法

(3)浏览器尺寸相关操作

maximize_window()  #最大化

get_window_size()  #获取浏览器尺寸

set_window_size() #设置浏览器尺寸

(4)浏览器位置相关操作

get_window_position()  #获取浏览器位置

set_window_position(x,y) #设置浏览器位置

注:显示器以左上角为(0,0),所有的位置操作都是相对于显示器左上角展开的位移操作,单位是像素。

(5)浏览器的关闭操作

close()  #关闭当前标签/窗口

quit()  #关闭所有标签/窗口

2.元素定位

3.元素的操作

对元素的相关操作,一般要先获取到元素,再调用相关方法

 element = driver.find_element_by_xxx(value)

(1)点击和输入

element.click()  #点击操作
element.clear() #清空输入框
element.send_keys(data)
#输入数据//清空/输入操作(只能操作可以输入文本的元素)

(2)提交操作

element.submit()

(3)获取元素信息

element.text  #获取文本内容(既开闭标签之间的内容)
element.get_attribute(value)
#获取属性值(获取element元素的value属性的值)
element.size  #获取元素尺寸(了解)
element.is_dispalyed()  #获取元素是否可见(了解)

4.多标签/多窗口之间的切换

有的时候点击一个链接,新页面并非由当前页面跳转过去,而是新开一个页面打开,这种情况下,计算机需要识别多标签或窗口的情况。

(1)获取所有窗口的句柄

handles = driver.window_handlers

调用该方法会得到一个列表,在selenium运行过程中的每一个窗口都有一个对应的值存放在里面。

(2)通过窗口的句柄进入的窗口

driver.switch_to_window(handles[n])

5.多表单/多框架切换

在网页中,表单嵌套是很常见的情况,尤其是在登录的场景
(1)什么是多表单?
实际上就是使用iframe/frame,引用了其他页面的链接,真正的页面数据并没有出现在当前源码中,但是在浏览器中我们看到,简单理解可以使页面中开了一个窗口显示另一个页面

(2)处理方法
直接使用id值切换进表单

driver.switch_to.frame(value)
#driver.switch_to_frame(value)

定位到表单元素,再切换进入

el = driver.find_element_by_xxx(value)
driver.switch_to.frame(el)  
#driver.switch_to_frame(el)

6.多表单切换

处理方法

driver.switch_to.default_content()
#跳回最外层的页面
driver.switch_to.parent_frame()
#跳回上层的页面

7.鼠标和键盘操作

手动测试时键盘的操作在selenium页有实现,关于鼠标的操作由ActionChains()类来提供,关于键盘的操作由Key()类来提供
(1)鼠标操作

#导入动作链类,动作链可以储存鼠标的动作,并一起执行
from selenium.webdriver import ActionChains
ActionChains(driver)
#执行ActionChains中储存的所有动作
perform()

鼠标右击

el = driver.find_element_by_xxx(value)
context_click(el)
#对el执行右击

WebDriver通过下表的功能来操纵浏览器
WebDirver通过一些方法来实现与浏览器窗口、网页和页面元素的交互

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值