文章目录
- 一、selenium 基本事件操作:
- 二、Selenium WebDriver 操作:
- 1、打开目标地址:`get( url )`
- 2、浏览器窗口最大化:`maximize_window()`
- 3、浏览器窗口最小化:`minimize_window()`
- 4、获取浏览器当前标签页 title: `driver.title`
- 5、通过 `js` 操作页面元素:`execute_script(script)`
- 6、浏览器返回:`back()`
- 7、浏览器前进:`forward()`
- 8、获取 cookie 值:`get_cookie(name)`
- 9、获取 cookies :`get_cookies()`
- 10、添加 cookie 信息:`add_cookie(cookie_dict)`
- 11、删除 cookie 信息:`delete_cookie(name)`
- 12、删除所有 cookie 信息:`delete_all_cookies()`
- 13、webdriver 切换操作:` switch_to `
- **14、**获取当前页面的 URL : `current_url`
- 15、 获取当前页面 handle :`current_window_handle`
- 16、 获取所有浏览器窗口的 handle : `window_handles`
- 17、 获取当前窗口的 x , y位置:`get_window_position(windowHandle='current')`
- 18、 获取当前窗口的 x, y 坐标 ,以及窗口的 宽度与高度: `get_window_rect()`
- 19、 获取当前窗口的 宽度与高度:`get_window_size(windowHandle='current')`
- 20、截图当前窗口:`save_screenshot(filename)`
一、selenium 基本事件操作:
# 导入依赖包
from selenium.webdriver.remote.webelement import WebElement
说明:直接采用函数封装的方式记录笔记
1、模拟鼠标点击操作:click()
def click( element: WebElement):
element.click()
2、模拟内容输入:send_keys( *value )
注:send_keys
函数还可以模拟键盘操作,与 ActionChains
的 send_keys
操作类似
# 此处执行了 清空 与 输入内容 两个操作
def send_keys(element: WebElement, message: str):
element.clear(element)
element.send_keys(message)
3、清空输入框内容:clear()
def clear(element: WebElement):
element.clear()
4、获取元素的文本信息:text()
def text( element: WebElement):
return element.text()
5、判断页面元素是否存在:is_displayed()
def is_displayed(element: WebElement):
return element.is_displayed()
6、判断页面元素是否为选中状态:is_selected()
**说明:**一般用于校验复选框,单选框等组件
def is_selected(element: WebElement):
return element.is_selected()
7、判断页面元素是否为激活状态:is_enabled()
**说明:**一般用于判断按钮是否为置灰不可点击等
def is_enabled(element: WebElement):
return element.is_enabled()
8、获取标签属性的值:get_attribute(name)
def get_attribute(element: WebElement, name: str):
return element.get_attribute(name)
9、获取页面元素标签的类型:tag_name
def tag_name(element: WebElement):
return element.tag_name
10、 截取元素范围,并保存图片 screenshot(filename)
def screenshot(element:WebElement, filename:str):
element.screenshot(filename)
二、Selenium WebDriver 操作:
# 导入依赖包
from selenium import webdriver as driver
driver = webdriver.Chrome(executable_path='../driver/chromedriver.exe')
1、打开目标地址:get( url )
def get( url ):
driver.get(url)
2、浏览器窗口最大化:maximize_window()
def max():
driver.maximize_window()
3、浏览器窗口最小化:minimize_window()
def min():
driver.minimize_window()
4、获取浏览器当前标签页 title: driver.title
def browser_title():
return self.driver.title
5、通过 js
操作页面元素:execute_script(script)
def execute_script(js):
return driver.execute_script(js)
6、浏览器返回:back()
def back():
driver.back()
7、浏览器前进:forward()
def forward():
driver.forward()
8、获取 cookie 值:get_cookie(name)
def get_cookie(name):
return driver.get_cookie(name)
9、获取 cookies :get_cookies()
def get_cookies():
return driver.get_cookies()
10、添加 cookie 信息:add_cookie(cookie_dict)
def add_cookie(cookie:dict):
driver.add_cookie(cookie_dict=cookie)
11、删除 cookie 信息:delete_cookie(name)
def delete_cookie(name):
driver.delete_cookie(name)
12、删除所有 cookie 信息:delete_all_cookies()
def delete_all_cookies():
driver.delete_all_cookies()
13、webdriver 切换操作:switch_to
a. 切换浏览器窗口:switch_to.window(name)
def switch_to_window(name):
driver.switch_to.window(name)
b. 返回当前焦点的WebElement对象: active_element
def active_element():
return driver.switch_to.active_element
c. 浏览器的 alert
、confirm
、prompt
框操作: alert
-
alert
框内输入文案:send_keys( mes )
def alert_sendkeys( mes ): driver.switch_to.alert.send_keys( mes )
-
alert
框内点击确认按钮:def alert_accept(): driver.switch_to.alert.accept()
-
离开
alert
框:def alert_dismiss(): driver.switch_to.alert.dismiss()
-
获取
alert
框内的文案信息:text
def alert_text(): return driver.switch_to.alert.text
d. 切换到 frame
标签:
def to_frame(frame_reference)
driver.switch_to.frame(frame_reference)
e. 切换到父级 frame :parent_frame()
**说明:**frame嵌套是不提倡的,比较影响性能,若是发现可以提交给开发建议优化
def to_parent_frame():
driver.switch_to.parent_frame()
f. 切换回页面主体:default_content()
def to_default_content():
driver.switch_to.default_content()
**14、**获取当前页面的 URL : current_url
def current_url():
return driver.current_url
15、 获取当前页面 handle :current_window_handle
def current_handle():
return driver.current_window_handle
16、 获取所有浏览器窗口的 handle : window_handles
def window_handles():
return driver.window_handles
17、 获取当前窗口的 x , y位置:get_window_position(windowHandle='current')
def get_window_position(windowHandle='current')
return driver.get_window_position(windowHandle)
18、 获取当前窗口的 x, y 坐标 ,以及窗口的 宽度与高度: get_window_rect()
def get_window_rect():
return driver.get_window_rect()
19、 获取当前窗口的 宽度与高度:get_window_size(windowHandle='current')
def get_window_size():
return driver.get_window_size()
20、截图当前窗口:save_screenshot(filename)
def screenshot(filename):
driver.save_screenshot(filename)