国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python Selenium4.3.0(新語法) web自動化測試工具

這篇具有很好參考價值的文章主要介紹了Python Selenium4.3.0(新語法) web自動化測試工具。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1 介紹
Selenium是一個用于Web應(yīng)用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。

支持的瀏覽器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等

這個工具的主要功能包括:測試與瀏覽器的兼容性——測試應(yīng)用程序看是否能夠很好得工作在不同瀏覽器和操作系統(tǒng)之上。測試系統(tǒng)功能——創(chuàng)建回歸測試檢驗軟件功能和用戶需求。

中文教程:http://www.selenium.org.cn/

2 入門準(zhǔn)備
1、安裝

pip install selenium

2、下載瀏覽器驅(qū)動

(1)谷歌驅(qū)動

http://chromedriver.storage.googleapis.com/index.html

# linux chrome
https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

(2)火狐驅(qū)動

https://github.com/mozilla/geckodriver/releases/

3、測試代碼
可以指定路徑,或?qū)Ⅱ?qū)動放到當(dāng)前文件夾

from selenium import webdriver

url = "https://www.baidu.com/"

# 加載驅(qū)動
# driver = webdriver.Firefox()   # Firefox瀏覽器
# driver = webdriver.Firefox("驅(qū)動路徑")
driver = webdriver.Chrome()    # Chrome瀏覽器
# driver = webdriver.Ie()        # Internet Explorer瀏覽器
# driver = webdriver.Edge()      # Edge瀏覽器
# driver = webdriver.Opera()     # Opera瀏覽器
# driver = webdriver.PhantomJS()   # PhantomJS

# 打開網(wǎng)頁
driver.get(url)

3 等待策略
3.1 顯式等待
顯式等待使WebDriver等待某個條件成立時繼續(xù)執(zhí)行,否則在達(dá)到最長事件拋出超時異常(TimeoutException)

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Firefox()
driver.get("https://www.baidu.com")

element = WebDriverWait(driver, 3, 0.5).until(
    EC.presence_of_element_located((By.ID, "kw"))
)
element.send_keys('python')
driver.quit()

WebDriverWait類有WebDriver提供,在設(shè)置事件內(nèi),默認(rèn)每間隔一段時間檢測一次當(dāng)前頁面元素是否存在,如果超時則未檢測到,則拋出異常。

WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)

driver:瀏覽器驅(qū)動
timeout:最長超時時間,默認(rèn)單位為s
poll_frequency:超時后的異常信息,默認(rèn)情況下拋–NoSuchElementException異常。
WebDriverWait()一般由until()或until_not()方法配合使用,下面是until()和until_not()方法的說明。

until(method, message=‘’) 調(diào)用該方法提供的驅(qū)動程序作為一個參數(shù),直到返回值為True。
until_not(method, message=‘’) 調(diào)用該方法提供的驅(qū)動程序作為一個參數(shù),直到返回值為False。
3.2 隱式等待
如果某些元素不是立即可用的,隱式等地啊是告訴WebDriver去等待一定時間后去查找元素。默認(rèn)等待時間為0秒,一旦設(shè)置該值,隱式等待是設(shè)置該WebDriver的實例的生命周期。

from selenium import webdriver
from selenium.webdriver.common.by import By

# 加載驅(qū)動
driver = webdriver.Chrome()  # Chrome瀏覽器

url = "https://www.baidu.com/"
driver.set_window_size(1000, 900)

# 隱式等待
driver.implicitly_wait(10)  # seconds

driver.get(url)

driver.find_element(By.ID, "kw").clear()
driver.find_element(By.ID, "kw").send_keys("Python")
driver.find_element(By.ID, "su").click()

4 瀏覽器控制
1、控制瀏覽器窗口大小

driver.set_window_size(900, 700)

2、瀏覽器前進(jìn)、后退

driver.forward()
driver.back()

3、刷新

driver.refresh()

5 元素定位

# 通過id 查詢首個滿足條件
driver.find_element(by=By.ID, value="username")
# 通過class 查詢所有滿足條件 [列表形式返回]
driver.find_elements(by=By.CLASS_NAME, value="item")
# 通過TAG_NAME
driver.find_elements(by=By.TAG_NAME, value="a")
driver.find_elements(by=By.TAG_NAME, value="a").get_attribute("href")

參數(shù)一by :By.ID、By.CLASS_NAME、By.NAME
參數(shù)二value: 指定 ID、name或Class的值

4 具體使用
3.1 元素查找、定位
3.3 Webelement常用方法
1、點擊和輸入

driver.find_element(By.ID, "kw").clear()  				# 清除文本
driver.find_element(By.ID, "kw").send_keys("Python")    # 模擬按鍵輸入
driver.find_element(By.ID, "su").click()  				# 點擊元素

2、提交
模擬輸入框回車操作

新版本中未測試出功能

3、其他

size:返回元素尺寸
text:獲取元素的文本
get_attribute(name):獲取屬性值
is_displayed:設(shè)置元素是否用戶可見

總結(jié):

from selenium import webdriver

# 加載驅(qū)動
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()  # Chrome瀏覽器

# url = "https://read.douban.com/ebook/7821748/?dcs=search"
url = "https://www.baidu.com/"
driver.set_window_size(900, 700)
# 打開網(wǎng)頁
driver.get(url)

driver.find_element(By.ID, "kw").clear()  # 清除文本
driver.find_element(By.ID, "kw").send_keys("Python")  # 模擬按鍵輸入
driver.find_element(By.ID, "su").click()  # 點擊元素

4 鼠標(biāo)操作
selenium鼠標(biāo)事件用的是ActionChains,在調(diào)用的時候并不會執(zhí)行,而是在perform()方法被調(diào)用后執(zhí)行。

引用 ActionCharins類

from selenium.webdriver.common.action_chains import ActionChains

4.1 單擊/雙擊/鼠標(biāo)右擊

url = "https://www.baidu.com/"

實例:點擊百度圖片超鏈接

from selenium import webdriver
# 引用ActionChains類
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By

url = "https://www.baidu.com/"

driver = webdriver.Chrome()  # Chrome瀏覽器

# 隱式等待
driver.implicitly_wait(10)  # seconds

# 打開網(wǎng)頁
driver.get(url)
rc = driver.find_element(by=By.LINK_TEXT, value="圖片")
# 右擊
# ActionChains(driver).context_click(rc).perform()
# 雙擊
# ActionChains(driver).double_click(rc).perform
# 單擊
ActionChains(driver).click(on_element=rc).perform()

4.2 移動元素
這個測試案例并不是很好,各位大佬如果有的話可以留言。

url = "https://www.baidu.com/"

# 移動元素
element = driver.find_element(By.LINK_TEXT, "圖片")
target = driver.find_element(By.LINK_TEXT, "更多")
ActionChains(driver).drag_and_drop(element, target).perform()

5 鍵盤事件
全選 Ctrol+A :send_keys(Keys.CONTROL, ‘a(chǎn)’)
復(fù)制 Ctrol+C:send_keys(Keys.CONTROL, ‘c’)
剪切 Ctrol+X:send_keys(Keys.CONTROL, ‘x’)
粘貼 Ctrol+V:send_keys(Keys.CONTROL, ‘v’)

鍵盤 F1:send_keys(Keys.F1)

鍵盤 F12:send_keys(Keys.F12)

刪除鍵 BackSpace:send_keys(Keys.BACK_SPACE)

空格鍵 Space:send_keys(Keys.SPACE)

制表鍵 Tab:send_keys(Keys.TAB)

Esc鍵 Tab:send_keys(Keys.ESCAPE)

回車鍵 ENTER:send_keys(Keys.ENTER)

5.1 輸入

from selenium import webdriver

# 引入 ActionChains 類
from selenium.webdriver import Keys

# 加載驅(qū)動
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()  # Chrome瀏覽器

url = "https://www.baidu.com/"
driver.set_window_size(1000, 900)

driver.get(url)

driver.find_element(By.ID, "kw").clear()
driver.find_element(By.ID, "kw").send_keys("Pythonn")
driver.find_element(By.ID, "kw").send_keys(Keys.BACK_SPACE)

5.2 組合按鍵

# Ctrl+a
ActionChains(driver).key_down(Keys.CONTROL).send_keys("a").key_up(Keys.CONTROL).perform()

6 獲取頁面信息

# 獲取當(dāng)前頁面URL
now_url = driver.current_url
# 獲取當(dāng)前頁面title
title = driver.title

8 在不同窗口和框架之間移動

9 警告框處理

10 下拉選擇框

11 文件上傳

driver.find_element_by_name("file").send_keys('D:\\upload_file.txt')

12 cookie操作
WebDriver操作cookie的方法:

get_cookies(): 獲得所有cookie信息。
get_cookie(name): 返回字典的key為“name”的cookie信息。
add_cookie(cookie_dict) : 添加cookie。“cookie_dict”指字典對象,必須有name 和value 值。
delete_cookie(name,optionsString):刪除cookie信息?!皀ame”是要刪除的cookie的名稱,“optionsString”是該cookie的選項,目前支持的選項包括“路徑”,“域”。
delete_all_cookies(): 刪除所有cookie信息

13 調(diào)用JavaScript代碼

# 獲取網(wǎng)頁標(biāo)題
driver.execute_script('return document.title;')

14 關(guān)閉瀏覽器文章來源地址http://www.zghlxwxcb.cn/news/detail-821631.html

# 關(guān)閉單個窗口
driver.close()

# 關(guān)閉所有窗口
driver.quit()

到了這里,關(guān)于Python Selenium4.3.0(新語法) web自動化測試工具的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 自動化測試之八大元素定位方式(python3.10+selenium4)

    自動化測試之八大元素定位方式(python3.10+selenium4)

    元素的定位是自動化測試核心。要操作一個對象,首先要識別定位或找到這個對象。為了實現(xiàn)網(wǎng)頁整體布局,我們先要知道,一個元素,是如何定位到頁面上的某個位置的,這就是元素定位。 系統(tǒng)環(huán)境 Windows 11 ?? python3.10.5 ?? selenium 4.8.0 ?? 注意:以下每種定位方式均有一

    2024年02月03日
    瀏覽(87)
  • 瀏覽器常用基本操作之python3+selenium4自動化測試(基礎(chǔ)篇)

    瀏覽器常用基本操作之python3+selenium4自動化測試(基礎(chǔ)篇)

    1、打開指定的網(wǎng)頁地址 我們使用selenium進(jìn)行自動化測試時,打開瀏覽器之后,第一步就是讓瀏覽器訪問我們指定的地址,可使用get方法實現(xiàn) 1 2 3 from selenium import webdriver driver = webdriver.Edge() driver.get( \\\'https://www.baidu.com/\\\' )?? # 本行用于訪問指定的地址 2、獲取當(dāng)前頁面url 我們在

    2024年02月01日
    瀏覽(93)
  • Web自動化測試-Selenium語法入門到精通

    前言 說到自動化測試,就不得不提大名鼎鼎的Selenium。Selenium 是如今最常用的自動化測試工具之一,支持快速開發(fā)自動化測試框架,且支持在多種瀏覽器上執(zhí)行測試。 Selenium學(xué)習(xí)難度小,開發(fā)周期短。對測試人員來說,如果你編程經(jīng)驗不足,python + Selenium 是個很好的選擇。語

    2024年02月11日
    瀏覽(24)
  • Selenium4自動化測試框架

    Selenium 介紹 Selenium 是目前用的最廣泛的 Web UI 自動化測試框架,核心功能就是可以在多個瀏覽器上進(jìn)行自動化測試,支持多種編程語言,目前已經(jīng)被 google,百度,騰訊等公司廣泛使用。 1、配置 google 驅(qū)動的環(huán)境變量,如果不配置需要在代碼中指定驅(qū)動位置。 2、eclipse 中導(dǎo)入

    2024年02月03日
    瀏覽(26)
  • web UI 自動化測試:Selenium 語法詳解 史上最全

    web UI 自動化測試:Selenium 語法詳解 史上最全

    selenium主要是用來做自動化測試,支持多種瀏覽器,爬蟲中主要用來解決JavaScript渲染問題。模擬瀏覽器進(jìn)行網(wǎng)頁加載 一、聲明瀏覽器對象 二、訪問頁面并獲取網(wǎng)頁html 三、查找元素 單個元素 常用的查找方法 也可以使用通用的方法 四、元素交互操作-搜索框傳入進(jìn)行自

    2024年02月21日
    瀏覽(25)
  • selenium4 自動化測試--環(huán)境安裝和基礎(chǔ)操作

    selenium4 自動化測試--環(huán)境安裝和基礎(chǔ)操作

    最近也有很多人私下問我,selenium學(xué)習(xí)難嗎,基礎(chǔ)入門的學(xué)習(xí)內(nèi)容很多是3以前的版本資料,對于有基礎(chǔ)的人來說,3到4的差別雖然有,但是不足以影響自己,但是對于沒有學(xué)過的人來說,通過資料再到自己寫的代碼,發(fā)現(xiàn)有些東西沒有,有些方法又不相同,導(dǎo)致腳本不能運行

    2024年01月21日
    瀏覽(25)
  • 【自動化測試】基于Selenium + Python的web自動化框架

    【自動化測試】基于Selenium + Python的web自動化框架

    Selenium是一個基于瀏覽器的自動化工具,她提供了一種跨平臺、跨瀏覽器的端到端的web自動化解決方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid: ? 1、Selenium IDE:Firefox的一個擴(kuò)展,它可以進(jìn)行錄制回放,并可以把錄制的操作以多種語言(例如java,p

    2024年02月07日
    瀏覽(19)
  • Python自動化實戰(zhàn)之使用Selenium進(jìn)行Web自動化詳解

    Python自動化實戰(zhàn)之使用Selenium進(jìn)行Web自動化詳解

    為了完成一項重復(fù)的任務(wù),你需要在網(wǎng)站上進(jìn)行大量的點擊和操作,每次都要浪費大量的時間和精力。Python的Selenium庫就可以自動化完成這些任務(wù)。 在本篇文章中,我們將會介紹如何使用Python的Selenium庫進(jìn)行Web自動化,以及如何將它應(yīng)用于實際項目中。如果你是一名Python愛好

    2024年02月13日
    瀏覽(30)
  • 【web自動化】selenium+python八大元素定位

    【web自動化】selenium+python八大元素定位

    推薦:b站軟件測試?yán)习?注意點 1.有id才能能使用id定位 2.id不能重復(fù) 通過百度頁面,演示如何查找id確定id是否重復(fù),其他方式定位也可以這樣搜索 代碼如下(示例): 如果有多個class_name,可以使用 find_elements 和取下標(biāo)的方式 例如:打開嗶哩嗶哩頁面,有番劇,電影等等,他

    2024年01月21日
    瀏覽(27)
  • python基于Selenium的web自動化框架

    python基于Selenium的web自動化框架

    1 什么是selenium Selenium 是一個基于瀏覽器的自動化工具,它提供了一種跨平臺、跨瀏覽器的端到端的web自動化解決方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid: Selenium IDE:Firefox的一個擴(kuò)展,它可以進(jìn)行錄制回放,并可以把錄制的操作以多種語言(例

    2024年02月02日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包