python3+selenium自動(dòng)化測(cè)試-瀏覽器操作3

selenium用法講解:
(1)瀏覽器操作:
主要講如何用Python調(diào)用webdriver框架的API,對(duì)瀏覽器做一些常規(guī)的操作,如打開、前進(jìn)、后退、刷新、設(shè)置窗口大小、截屏、退出等操作。
WebDriver提供了maxmize_window()方法使打開的瀏覽器全屏顯示,其用法與set_window_size()相同, 但它不需要參數(shù)。
WebDriver提供了back和forward方法來模擬后退和前進(jìn)按鈕。
WebDriver提供了refresh()方法模擬刷新。
WebDriver提供了截圖函數(shù)get_screenshot_as_file()來截取當(dāng)前窗口。
如:driver.get_screenshot_as_file(r"C:\Users\baidu.png")
WebDriver還提供了close方法,用來關(guān)閉當(dāng)前窗口。
WebDriver還提供了quit方法,用來退出驅(qū)動(dòng)并關(guān)閉所有關(guān)聯(lián)的窗口。

見下面例子:

from selenium import webdriver
from time import sleep


driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.baidu.com/")
sleep(3)
driver.get("https://blog.csdn.net/")
sleep(3)  # 等待3s后刷新頁面
driver.refresh() # 頁面刷新refresh()

# 1.想返回上一頁面,相當(dāng)于瀏覽器左上角的左箭頭按鈕,driver.back()
# 2.返回到上一頁面后,也可以切換到下一頁,相當(dāng)于瀏覽器左上角的右箭頭按鈕,driver.forward()
driver.back()  # 返回上一頁
sleep(5)
driver.forward() # 返回下一頁

driver.set_window_size(540,960)  # 設(shè)置窗口大小為手機(jī)分辨率540*960
sleep(3)
driver.maximize_window()

driver.get_screenshot_as_file("cr1.png")  # 當(dāng)前路徑下保存截圖
# 截屏后可以設(shè)置制定的保存路徑+文件名稱+后綴
driver.quit()  
# 結(jié)束進(jìn)程,關(guān)閉所有的窗口

(2)元素基本操作
clear(): 清除文本
send_keys ( * value): 模擬按鍵輸入
click(): 單擊元素
submit(): 提交表單
size: 返回元素的尺寸
text: 獲取元素的文本
current_url: 獲取當(dāng)前URL
title: 獲取元素的標(biāo)題
get_attribute(name):獲得屬性值
is_displayed():判斷該元素是否用戶可見

(3)鼠標(biāo)事件

在WebDriver,將這些關(guān)于鼠標(biāo)操作的方法封裝在ActionChains類提供:

click(on_element=None) ——單擊鼠標(biāo)左鍵

click_and_hold(on_element=None) ——點(diǎn)擊鼠標(biāo)左鍵,不松開

context_click(on_element=None) ——點(diǎn)擊鼠標(biāo)右鍵

double_click(on_element=None) ——雙擊鼠標(biāo)左鍵

drag_and_drop(source, target) ——拖拽到某個(gè)元素然后松開

drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某個(gè)坐標(biāo)然后松開

move_by_offset(xoffset, yoffset) ——鼠標(biāo)從當(dāng)前位置移動(dòng)到某個(gè)坐標(biāo)

move_to_element(to_element) ——鼠標(biāo)移動(dòng)到某個(gè)元素

move_to_element_with_offset(to_element, xoffset, yoffset) ——移動(dòng)到距某個(gè)元素(左上角坐標(biāo))多少距離的位置

perform() ——執(zhí)行鏈中的所有動(dòng)作

release(on_element=None) ——在某個(gè)元素位置松開鼠標(biāo)左鍵

send_keys(*keys_to_send) ——發(fā)送某個(gè)鍵到當(dāng)前焦點(diǎn)的元素

send_keys_to_element(element, *keys_to_send) ——發(fā)送某個(gè)鍵到指定元素

 使用的時(shí)候需導(dǎo)入:from selenium.webdriver.common.action_chains import ActionChains

(4)鍵盤事件

key_down(value, element=None) ——按下某個(gè)鍵盤上的鍵

key_up(value, element=None) ——松開某個(gè)鍵

send_keys(Keys.BACK_SPACE)             刪除鍵(backspace)

send_keys( Keys. SPACE)                            空格鍵(space)

send_keys( Keys.TAB)                         制表鍵(Tab)

send_keys( Keys. ESCAPE)                  回退鍵(esc)

send_keys( Keys. ENTER)                    回車鍵(enter)

send_keys(Keys.CONTROL,’a’)         全選(ctrl+A)

send_keys(Keys.CONTROL,’c’)         復(fù)制(ctrl+C)

send_keys(Keys.CONTROL,’x’)        剪切(ctrl+X)

send_keys(Keys.CONTROL,’v’)         粘貼(ctrl+v)

send_keys(keys.F1)                             鍵盤F1

……

send_keys(keys.F12)                           鍵盤F12

 使用的時(shí)候需導(dǎo)入:from selenium.webdriver.common.keys import Keys

參考鏈接https://www.cnblogs.com/yoyoketang/p/6123834.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容