Selenium自動(dòng)化測(cè)試工具使用方法匯總
1、設(shè)置無頭瀏覽器模式
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('- -headless')
chrome_options.add_argument('- -disable-gpu')
class XX(object):
self.driver = webdriver.Chrome(chrome_options=chrome_options)# 設(shè)置無頭
2、設(shè)置屏幕尺寸
self.driver.maximize_window() # 最大
self.driver.get_window_size() # 獲取窗口尺寸
self.driver.set_window_size(1296, 1000) # 指定像素 寬1296 高1000
3、通過xpath獲取元素并單擊
element = self.driver.find_elements_by_xpath('//*[@id="disabled"]/li[3]/a') # element是獲取的元素列表
element [0].click()
4、關(guān)閉單個(gè)窗口
# 關(guān)閉單個(gè)窗口
self.driver.close()
5、退出driver程序,關(guān)閉瀏覽器
driver.quit()
6、獲取input標(biāo)簽 輸入文字 執(zhí)行回車
from selenium.webdriver.common.keys import Keys
# 輸入主機(jī)名:spupa01bat04 回車查詢
element = self.driver.find_elements_by_xpath(input_enter_xpath)[0]
element.send_keys('spupa01bat04')
element.send_keys(Keys.ENTER)
7、執(zhí)行雙擊
from selenium import webdriver
from selenium.webdriver import ActionChains # 該類可執(zhí)行鼠標(biāo)動(dòng)作:雙擊 拖拽等
self.driver = webdriver.Chrome()
self.acobj = ActionChains(self.driver)
checkName = '風(fēng)險(xiǎn)'
# '" + checkName + "'是向標(biāo)簽xpath字符串路經(jīng)引入的變量
Xpath = "http://span[text()='" + checkName + "']/../../..//span[text()='FSCapacity']"
el_01 = self.driver.find_elements_by_xpath(Xpath)[0] # 獲取元素
self.acobj.double_click(el_01).perform() # 執(zhí)行雙擊
self.driver.implicitly_wait(20)
8、執(zhí)行等待
# 隱式等待:設(shè)置一個(gè)等待時(shí)間,如果在這個(gè)等待時(shí)間內(nèi),網(wǎng)頁(yè)加載完成,則執(zhí)行下一步;否則一直等待時(shí)間截止,然后再執(zhí)行下一步。這樣也就會(huì)有個(gè)弊端,程序會(huì)一直等待整個(gè)頁(yè)面加載完成,直到超時(shí),但有時(shí)候我需要的那個(gè)元素早就加載完成了,只是頁(yè)面上有個(gè)別其他元素加載特別慢,我仍要等待頁(yè)面全部加載完成才能執(zhí)行下一步。
self.driver.implicitly_wait(10)
# 顯示等待:配合該類的until()和until_not()方法,就能夠根據(jù)判斷條件而進(jìn)行靈活地等待了。它主要的意思就是:程序每隔xx檢查一次,如果條件成立了,則執(zhí)行下一步,否則繼續(xù)等待,直到超過設(shè)置的最長(zhǎng)時(shí)間,然后拋出TimeoutException
from selenium.webdriver.support.wait import WebDriverWait
# 超時(shí)時(shí)間為30秒,每0.2秒檢查1次,直到class="tt"的元素出現(xiàn)
text = WebDriverWait(driver,30,0.2).until(lambda x:x.find_element_by_css_selector(".tt")).text
print(text)
# 強(qiáng)制等待:簡(jiǎn)單粗暴效率低
from time import sleep
sleep(5)
9、瀏覽器全屏截圖保存到指定路徑
png01_path = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'resource', 'png_codes.png')
self.driver.save_screenshot(png01_path)
10、select下拉框的選值處理
from selenium.webdriver.support.select import Select
# 定位下拉框?qū)ο?br /> select_element = self.driver.find_elements_by_xpath(select_xpath)[0]
# 構(gòu)建下拉框?qū)ο?br /> sel_obj = Select(select_element)
# 通過value值進(jìn)行選擇:一周
sel_obj.select_by_value('168h')
11、# 瀏覽器位置
# 獲取瀏覽器位置
position = driver.get_window_position()
print(position)
# 設(shè)置瀏覽器位置
driver.set_window_position(100, 100)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python+Selenium自動(dòng)化測(cè)試——輸入,點(diǎn)擊操作
- Python3.6+selenium2.53.6自動(dòng)化測(cè)試_讀取excel文件的方法
- Python+Selenium使用Page Object實(shí)現(xiàn)頁(yè)面自動(dòng)化測(cè)試
- python3+selenium自動(dòng)化測(cè)試框架詳解
- selenium python 實(shí)現(xiàn)基本自動(dòng)化測(cè)試的示例代碼
- selenium+python自動(dòng)化測(cè)試之使用webdriver操作瀏覽器的方法
- 關(guān)于Selenium的UI自動(dòng)化測(cè)試屏幕截圖功能實(shí)例代碼
相關(guān)文章
樹莓派4B+opencv4+python 打開攝像頭的實(shí)現(xiàn)方法
這篇文章主要介紹了樹莓派4B+opencv4+python 打開攝像頭的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10Python內(nèi)建類型int源碼學(xué)習(xí)
這篇文章主要為大家介紹了Python內(nèi)建類型int源碼學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05python爬蟲豆瓣網(wǎng)的模擬登錄實(shí)現(xiàn)
這篇文章主要介紹了python爬蟲豆瓣網(wǎng)的模擬登錄實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Python機(jī)器學(xué)習(xí)三大件之一numpy
這篇文章主要介紹了Python機(jī)器學(xué)習(xí)三大件之一numpy,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很好地幫助喲.需要的朋友可以參考下2021-05-05Python實(shí)現(xiàn)疫苗接種管理數(shù)據(jù)庫(kù)步驟詳解
這篇文章主要為大家介紹了Python實(shí)現(xiàn)疫苗接種管理數(shù)據(jù)庫(kù)步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09利用python實(shí)現(xiàn)命令行有道詞典的方法示例
平常都是用終端敲, 有時(shí)候不會(huì)的詞語也懶得打開詞典了,干脆搞了個(gè)簡(jiǎn)單的查詞命令。下面這篇文章主要給大家介紹了利用python實(shí)現(xiàn)命令行有道詞典的方法示例,需要的朋友可以參考借鑒,一起來看看吧。2017-01-01