Selenium自動化測試工具使用方法匯總
1、設置無頭瀏覽器模式
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)# 設置無頭
2、設置屏幕尺寸
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、關閉單個窗口
# 關閉單個窗口
self.driver.close()
5、退出driver程序,關閉瀏覽器
driver.quit()
6、獲取input標簽 輸入文字 執(zhí)行回車
from selenium.webdriver.common.keys import Keys
# 輸入主機名: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í)行鼠標動作:雙擊 拖拽等
self.driver = webdriver.Chrome()
self.acobj = ActionChains(self.driver)
checkName = '風險'
# '" + checkName + "'是向標簽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í)行等待
# 隱式等待:設置一個等待時間,如果在這個等待時間內(nèi),網(wǎng)頁加載完成,則執(zhí)行下一步;否則一直等待時間截止,然后再執(zhí)行下一步。這樣也就會有個弊端,程序會一直等待整個頁面加載完成,直到超時,但有時候我需要的那個元素早就加載完成了,只是頁面上有個別其他元素加載特別慢,我仍要等待頁面全部加載完成才能執(zhí)行下一步。
self.driver.implicitly_wait(10)
# 顯示等待:配合該類的until()和until_not()方法,就能夠根據(jù)判斷條件而進行靈活地等待了。它主要的意思就是:程序每隔xx檢查一次,如果條件成立了,則執(zhí)行下一步,否則繼續(xù)等待,直到超過設置的最長時間,然后拋出TimeoutException
from selenium.webdriver.support.wait import WebDriverWait
# 超時時間為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)
# 強制等待:簡單粗暴效率低
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
# 定位下拉框對象
select_element = self.driver.find_elements_by_xpath(select_xpath)[0]
# 構建下拉框對象
sel_obj = Select(select_element)
# 通過value值進行選擇:一周
sel_obj.select_by_value('168h')
11、# 瀏覽器位置
# 獲取瀏覽器位置
position = driver.get_window_position()
print(position)
# 設置瀏覽器位置
driver.set_window_position(100, 100)
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
樹莓派4B+opencv4+python 打開攝像頭的實現(xiàn)方法
這篇文章主要介紹了樹莓派4B+opencv4+python 打開攝像頭的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10python爬蟲豆瓣網(wǎng)的模擬登錄實現(xiàn)
這篇文章主要介紹了python爬蟲豆瓣網(wǎng)的模擬登錄實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08Python實現(xiàn)疫苗接種管理數(shù)據(jù)庫步驟詳解
這篇文章主要為大家介紹了Python實現(xiàn)疫苗接種管理數(shù)據(jù)庫步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09