Selenium自動(dòng)化測(cè)試工具使用方法匯總
1、設(shè)置無(wú)頭瀏覽器模式
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è)置無(wú)頭
2、設(shè)置屏幕尺寸
self.driver.maximize_window() # 最大
self.driver.get_window_size() # 獲取窗口尺寸
self.driver.set_window_size(1296, 1000) # 指定像素 寬1296 高1000
3、通過(guò)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ù)等待,直到超過(guò)設(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)
# 通過(guò)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)文章
pytorch中model.train()和model.eval()用法及說(shuō)明
在PyTorch中,model.train()用于啟用BatchNormalization和Dropout,保證模型在訓(xùn)練階段能夠有效地利用這些層的特性,而model.eval()則是用于測(cè)試階段,確保BatchNormalization和Dropout不會(huì)影響測(cè)試結(jié)果,保持模型的穩(wěn)定性2024-09-09
python中通過(guò)pip安裝庫(kù)文件時(shí)出現(xiàn)“EnvironmentError: [WinError 5] 拒絕訪問(wèn)”的問(wèn)題
這篇文章主要介紹了python中通過(guò)pip安裝庫(kù)文件時(shí)出現(xiàn)“EnvironmentError: [WinError 5] 拒絕訪問(wèn)”的問(wèn)題,本文給大家分享解決方案,感興趣的朋友跟隨小編一起看看吧2020-08-08
Python3正則表達(dá)式之:(?(id/name)yes-pattern|no-pattern)條件性匹配
(?(id/name)yes-pattern|no-pattern)的作用是對(duì)于給出的id或者name,先嘗試去匹配 yes-pattern部分的內(nèi)容,如果id或name條件不滿足,則去匹配no-pattern部分的內(nèi)容2021-10-10
python使用win32com庫(kù)播放mp3文件的方法
這篇文章主要介紹了python使用win32com庫(kù)播放mp3文件的方法,涉及Python使用win32com庫(kù)操作音頻文件的相關(guān)技巧,需要的朋友可以參考下2015-05-05
tensorflow 重置/清除計(jì)算圖的實(shí)現(xiàn)
今天小編就為大家分享一篇tensorflow 重置/清除計(jì)算圖的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
Python使用PIL將圖片或GIF轉(zhuǎn)為字符畫(huà)的方法詳解
PIL是專為Python語(yǔ)言設(shè)計(jì)的圖像處理庫(kù),它涵蓋了廣泛的圖像處理功能,如圖像的加載、保存、編輯,以及執(zhí)行多樣化的圖像處理任務(wù),本文給大家介紹了Python使用PIL將圖片或GIF轉(zhuǎn)為字符畫(huà)的方法,需要的朋友可以參考下2025-03-03
使用Python字符串訪問(wèn)與修改局部變量的實(shí)現(xiàn)代碼
這篇文章主要介紹了使用Python字符串訪問(wèn)與修改局部變量,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06
python實(shí)現(xiàn)nao機(jī)器人身體軀干和腿部動(dòng)作操作
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)nao機(jī)器人身體軀干和腿部動(dòng)作操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04
Python采集某網(wǎng)站文檔并保存word格式的示例
這篇文章主要介紹了Python采集某網(wǎng)站文檔并保存word格式的示例,我們平常需要下載文檔的時(shí)候,是不是發(fā)現(xiàn),要么不能下載,要么不能復(fù)制,那么我們今天來(lái)分享一下,如何用Python將這些不給下載的文檔給批量下載下來(lái),需要的朋友可以參考下2023-07-07
python自動(dòng)發(fā)送測(cè)試報(bào)告郵件功能的實(shí)現(xiàn)
這篇文章主要介紹了python自動(dòng)發(fā)測(cè)試報(bào)告郵件功能的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01

