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

Web自動化之Selenium常用操作方法大全

這篇具有很好參考價值的文章主要介紹了Web自動化之Selenium常用操作方法大全。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本文總結使用selenium進行web/UI自動化時,會用到的一些常用操作。

定位元素

driver.find_element_by_xpath()#1、絕對路徑 2、元素屬性 3、層級和屬性結合 4、使用邏輯運算符
driver.find_element_by_id()#根據id定位,HTML規(guī)定id屬性在HTML文檔中必須是唯一的
driver.find_element_by_name()#name屬性定位
driver.find_element_by_class_name()#class屬性定位
driver.find_element_by_tag_name()#標簽名字定位 因為標簽基本都不是唯一的,所以不用這個
driver.find_element_by_link_text()#定位文本鏈接,需要對應的元素有href屬性
driver.find_element_by_partial_link_text()#模糊定位文本鏈接
driver.find_element_by_css_selector()#CSS選擇器

By定位元素

是元素定位另外一種方式,跟上面的8種底層一樣。

1

2

from?selenium.webdriver.common?import?By

driver.find_element(By.ID,'kw')

定位一組元素

1

2

driver.find_elements_by_xpath()#其他方法同理

driver.find_elements(By.XPATH,'')

瀏覽器操作

driver.set_window_size()#設置瀏覽器大小,可以設置成移動端大小
driver.back()#瀏覽器后退
driver.forward()#瀏覽器前進
driver.set_window_position()
driver.set_window_rect()
driver.refresh()#模擬瀏覽器刷新
driver.maximize_window()#最大化瀏覽器

設置瀏覽器參數

在定義driver的時候設置chrome_options參數,該參數是一個Options類所實例化的對象。其中,常用的參數是設置瀏覽器是否可視化和瀏覽器的請求頭等信息,前者可以加快代碼的運行速度,后者可以有效地防止網站的反爬蟲檢測

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

from?selenium.webdriver.chrome.options?import?Options

url='https://movie.douban.com/'

#Options類實例化

chrome_options=Options()

#設置瀏覽器參數

#--headless是不 顯示瀏覽器啟動和執(zhí)行過程c

chrome_options.add_argument('--headless')

#設置lang和User-Agent信息,防止反爬蟲檢測

chrome_options.add_argument('lang=zh_CN.UTF-8')

UserAgent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.101 Safari/537.36'

chrome_options.add_argument('User-Agent='+UserAgent)

#啟動瀏覽器并設置chrome_options參數

driver=webdriver.Chrome(options=chrome_options)

driver.get(url)

driver.maximize_window()

print(driver.title)

# print(driver.page_source) #獲取網頁的html代碼

元素操作

driver.find_element_by_xpath().click()#點擊元素
driver.find_element_by_xpath().clear()#清空文本
driver.find_element_by_xpath().send_keys()#模擬鍵盤輸入

頁面交互

webElement接口提供了一些可以與頁面交互的方法

submit和click在某些情況下可以互換,submit只用于表單的提交按鈕。

driver.find_element_by_xpath().submit()#提交輸入框的內容 類似于回車提交搜索框內容
driver.find_element_by_xpath().size#返回元素尺寸
driver.find_element_by_xpath().text#獲取元素文本
driver.find_element_by_xpath().get_attribute()#獲取元素屬性值
driver.find_element_by_xpath().is_selected()#是否被選中
driver.find_element_by_xpath().is_enabled()#判斷元素是否可以使用
driver.find_element_by_xpath().is_displayed()#返回元素是否用戶可見

鼠標事件

關于鼠標操作的方法都封裝在Actionchains中

from selenium.webdriver.common.action_chains import ActionChains
rigt_check=driver.find_element_by_id('kw')
ActionChains(driver).context_click(rigt_check).perform()#context_click對元素右擊操作
#perform()執(zhí)行所有ActionChains中存儲的行為
ActionChains(driver).move_to_element(rigt_check).perform()#鼠標懸停
ActionChains(driver).double_click(rigt_check).perform()#鼠標雙擊
ActionChains(driver).drag_and_drop(source,target).perform()#鼠標由源元素拖動至目標元素

1

2

3

4

5

6

7

8

9

10

11

url='https://passport.bilibili.com/login'

??

driver=webdriver.Chrome()

driver.get(url)

#雙擊登錄按鈕

ele=driver.find_element_by_class_name('tit')

ActionChains(driver).double_click(ele).perform()

sleep(2)

#拖拽滑塊

ele=driver.find_element_by_class_name('gt_slider_knob,gt_show')

ActionChains(driver).drag_and_drop_by_offset(ele,100,0).perform()

Web自動化之Selenium常用操作方法大全,技術分享,軟件測試,自動化測試,前端,自動化,selenium

鍵盤事件

模擬鍵盤輸入,可以是按鍵,組合鍵。

from selenium.webdriver.common.keys import Keys
driver.find_element_by_xpath().send_keys(Keys.BACK_SPACE)#對該元素操作一次backspace
driver.find_element_by_xpath().send_keys(Keys.SPACE)#對該元素輸入空格
driver.find_element_by_xpath().send_keys(Keys.CONTROL,'a')#ctrl+A全選輸入框內容
driver.find_element_by_xpath().send_keys(Keys.CONTROL,'x')#ctrl+x剪切輸入框內容
driver.find_element_by_xpath().send_keys(Keys.CONTROL,'v')#ctrl+v粘貼內容到輸入框
driver.find_element_by_xpath().send_keys(Keys.ENTER)#通過回車鍵代替單擊操作
driver.find_element_by_xpath().send_keys(Keys.F1)#鍵盤F1

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

from?selenium?import?webdriver

from?selenium.webdriver.common.action_chains?import?ActionChains

from?selenium.webdriver.common.keys?import?Keys

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

from?time?import?sleep

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

??

driver=webdriver.Chrome()

driver.get(url)

ele=driver.find_element_by_id('kw')

ele.send_keys("selenium")

sleep(2)

#刪除最后一個文字

ele.send_keys(Keys.BACK_SPACE)

sleep(2)

??

#添加空格鍵+教程

ele.send_keys(Keys.SPACE)

ele.send_keys("教程")

sleep(2)

??

#ctrl+a全選輸入框內容

ele.send_keys(Keys.CONTROL,'a')

sleep(2)

??

#ctrl+x 剪切輸入框內容

ele.send_keys(Keys.CONTROL,'x')

sleep(2)

??

??

#ctrl+v 粘貼內容到輸入框

ele.send_keys(Keys.CONTROL,'v')

sleep(2)

??

#回車鍵代替單擊

driver.find_element_by_id('su').send_keys(Keys.ENTER)

獲得驗證信息

自動化用例執(zhí)行完成后,可以從頁面上獲取一些信息來證明用例執(zhí)行成功或者失敗

driver.title #獲得頁面title
driver.current_url#獲得頁面curl
driver.find_element_by_xpath().text#獲取元素文本

元素等待

由于web頁面多數使用AJAX技術,瀏覽器在加載頁面時,頁面上的元素可能不是同時被加載完成的,需要加入等待。

顯式等待:顯性等待能夠根據判斷條件而靈活地等待,程序每隔一段時間檢測一次,如果檢測結果與條件相符,就執(zhí)行下一步,否則繼續(xù)等待,直到超過設置的最長時間為止

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
element=WebDriverWait(driver,5,0.5).until(EC.presence_of_element_located(By.ID,'kw'))
#每0.5秒檢測一次這個元素能否被定位到,5秒后超時
#expected_conditions提供了很多預期條件判斷方法
#也可以用is_displayed()判斷元素是否可見

隱式等待

隱性等待是指在一個設定的時間內檢測網頁是否加載完成,也就是一般情況下用戶看到瀏覽器標簽欄那個小圈不再轉,才會執(zhí)行下一步。比如代碼中設置30秒等待時間,網頁只要在30秒內完成加載就會自動執(zhí)行下一步,如果超出30秒就會拋出異常。值得注意的是,隱性等待對整個driver的周期都起作用,所以只要設置一次即可。

通過一定的時長等待頁面上某元素加載完成,如果超出了設置的時長元素,還沒有被加載,則拋出沒有元素異常。

通常設置在driver后面。

driver.implicitly_wait(10)

sleep休眠方法

在需要的地方添加。

1

2

from?time?import?sleep

sleep(3)

隱性等待和顯性等待相比于time.sleep這種強制等待更為靈活和智能,可解決各種網絡延誤的問題,隱性等待和顯性等待可以同時使用,但最長的等待時間取決于兩者之間的最大數,如上述代碼的隱性等待時間為30秒,顯性等待時間為20秒,則該代碼的最長等待時間為隱性等待時間。?

多框架切換

frame是一個框架頁面,在HTML 5中已經不支持使用框架,但在一些網站中依然會看到它的身影。frame的作用是在HTML代碼中嵌套一個或多個不同的HTML代碼,每嵌套一個HTML代碼都需要由frame來實現(xiàn)

iframe和frame實現(xiàn)的功能是相同的,只不過使用方式和靈活性有所不同,無論是iframe還是frame,Selenium的定位和操作方式都是一樣的

由于一個HTML可以嵌套一個或多個iframe,因此Selenium在操作不同的iframe時需要通過switch_to.frame()來切換到指定的iframe,再執(zhí)行相應的操作?

driver.switch_to.frame('kw')#可以直接取表單的id或者name屬性,如果表單沒有這兩個屬性,可以先定位表單元素,再切換
driver.switch_to.parent_frame('kw')#跳出當前一級表單
driver.switch_to.default_content('kw')#跳回最外層頁面
#根據索引定位
driver.switch_to_frame(0)
#根據id或者name屬性
driver.switch_to_frame('framea')
新版本 driver.switch_to.frame(0)

如百度知道的文本框

?Web自動化之Selenium常用操作方法大全,技術分享,軟件測試,自動化測試,前端,自動化,selenium

?如下代碼實現(xiàn)打開百度知道題目頁面,點擊我要回答,定位至iframe,輸入內容,跳出iframe,并點擊提交回答按鈕

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

url='https://zhidao.baidu.com/question/1903337615241287780.html'

??

driver=webdriver.Chrome()

driver.get(url)

driver.maximize_window()

#點擊我要回答

driver.find_element_by_id('answer-bar').click()

#切換到frame內部的html

driver.switch_to.frame('ueditor_0')

#定位frame內部的元素

driver.find_element_by_xpath('/html/body').send_keys('美國')

#跳回網頁HTML 如果不切回網頁,則找不到提交回答按鈕,且js代碼也執(zhí)行不了

# driver.switch_to.default_content()

js='window.scrollTo(0,100)'

driver.execute_script(js)

sleep(3)

#點擊網頁提交回答按鈕

driver.find_element_by_xpath("http://div[@class='addons line']/a").click()

多窗口切換

search_windows=driver.current_window_handle #獲得當前窗口句柄
all_handles=driver.window_handles #獲得所有窗口的句柄
driver.switch_to.window(handle)#切換窗口
handles=driver.window_handles
driver.switch_to_window(handles[0])
driver.switch_to_window(handles[1])

應用

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

from?selenium?import?webdriver

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

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

driver=webdriver.Chrome()

driver.get(url)

driver.implicitly_wait(10)

search_windows=driver.current_window_handle?#獲得窗口句柄

driver.find_element_by_link_text('登錄').click()

driver.find_element_by_link_text('立即注冊').click()

import?time

#獲得所有窗口的句柄

all_handles=driver.window_handles

#切換到注冊窗口

for?handle?in?all_handles:

????if?handle!=search_windows:

????????driver.switch_to.window(handle)

????????print("當前是注冊窗口")

????????time.sleep(2)

#回到搜索窗口

for?handle?in?all_handles:

????if?handle==search_windows:

????????driver.switch_to.window(handle)

????????print("當前是搜索窗口")

????????driver.find_element_by_id('TANGRAM__PSP_4__closeBtn').click()#關閉注冊窗口

????????driver.find_element_by_id('kw').send_keys("selenium")

????????driver.find_element_by_id('su').click()

????????time.sleep(2)

driver.quit()

警告框處理

webdriver中處理JavaScript生成的alert,confirm,prompt十分簡單,具體做法是使用switch_to_alert方法定位到alert/confirm/prompt,然后使用text/accept/dismiss/send_keys等方法進行操作。

  • text:返回alert/confirm/prompt中的文字信息
  • accept():接受現(xiàn)有警告框
  • dismiss():解散現(xiàn)有警告框
  • send_keys:發(fā)送文本至警告框

應用,如圖切換至alert并接受

?Web自動化之Selenium常用操作方法大全,技術分享,軟件測試,自動化測試,前端,自動化,selenium

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

from?selenium?import?webdriver

from?selenium.webdriver.common.action_chains?import?ActionChains

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

from?time?import?sleep

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

driver=webdriver.Chrome()

driver.get(url)

driver.maximize_window()

driver.implicitly_wait(10)

#鼠標懸停至設置鏈接

link=driver.find_element_by_id("s-usersetting-top")

ActionChains(driver).move_to_element(link).perform()

??

driver.find_element_by_link_text('搜索設置').click()

??

#保存設置

driver.find_element_by_class_name('prefpanelgo').click()

sleep(2)

#接受警告框

# driver.switch_to_alert().accept()

??

driver.quit()

上傳文件

一般文件上傳,是打開windows窗口從窗口中選擇本地文件,但webdriver無法操作windows控件。

1、普通上傳 將本地文件路徑作為值傳給input標簽,注意必須是input標簽

2、插件上傳,基于flash,js,Ajax等技術實現(xiàn)上傳

#定位上傳按鈕,添加本地文件
driver.find_element_by_name('file').send_keys("D:\\upload_file.txt")

另一種方法為基于AutoIt軟件來實現(xiàn)上傳。但是不推薦,因為不在Python范圍。

下載文件

webdriver允許設置默認的文件下載路徑,文件會被自動下載并存放到設置的目錄中

操作cookie

什么情況下回用到cookie操作?當開發(fā)人員開發(fā)一個功能,當用戶登錄后,會將用戶的用戶名寫入瀏覽器cookie,指定key為username,就可以通過get_cookies()找到username,打印value。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

url='https://www.youdao.com/'

??

driver=webdriver.Chrome()

driver.get(url)

driver.maximize_window()

driver.implicitly_wait(10)

??

# #獲得cookie

??

driver.add_cookie({'name':'Login_User','value':'Password'})

cookie=driver.get_cookies()

print("所有Cookie為",cookie)

#獲取name為Login_User的cookie

one_cookie=driver.get_cookie('Login_User')

print("Login_User的Cookie為",one_cookie)

# "刪除name為Login_User的cookie

driver.delete_cookie('Login_User')

??

surplus_cookies=driver.get_cookies()

print("剩余的cookie為:",surplus_cookies)

??

driver.delete_all_cookies()

surplus_cookies=driver.get_cookies()

print("剩余的cookie為:",surplus_cookies)

driver.quit()

返回結果為

所有Cookie為[{
?? ?'domain': 'www.youdao.com',
?? ?'httpOnly': False,
?? ?'name': '___rl__test__cookies',
?? ?'path': '/',
?? ?'secure': False,
?? ?'value': '1662293521877'
}, {
?? ?'domain': '.youdao.com',
?? ?'expiry': 1696853521,
?? ?'httpOnly': False,
?? ?'name': 'OUTFOX_SEARCH_USER_ID',
?? ?'path': '/',
?? ?'secure': False,
?? ?'value': '"555592633@10.108.162.135"'
}, {
?? ?'domain': 'www.youdao.com',
?? ?'httpOnly': False,
?? ?'name': 'Login_User',
?? ?'path': '/',
?? ?'secure': True,
?? ?'value': 'Password'
}, {
?? ?'domain': '.youdao.com',
?? ?'expiry': 1696853520,
?? ?'httpOnly': False,
?? ?'name': 'OUTFOX_SEARCH_USER_ID_NCOO',
?? ?'path': '/',
?? ?'secure': False,
?? ?'value': '1883563674.2397'
}]
Login_User的Cookie為 {
?? ?'domain': 'www.youdao.com',
?? ?'httpOnly': False,
?? ?'name': 'Login_User',
?? ?'path': '/',
?? ?'secure': True,
?? ?'value': 'Password'
}
剩余的cookie為: [{
?? ?'domain': 'www.youdao.com',
?? ?'httpOnly': False,
?? ?'name': '___rl__test__cookies',
?? ?'path': '/',
?? ?'secure': False,
?? ?'value': '1662293521877'
}, {
?? ?'domain': '.youdao.com',
?? ?'expiry': 1696853521,
?? ?'httpOnly': False,
?? ?'name': 'OUTFOX_SEARCH_USER_ID',
?? ?'path': '/',
?? ?'secure': False,
?? ?'value': '"555592633@10.108.162.135"'
}, {
?? ?'domain': '.youdao.com',
?? ?'expiry': 1696853520,
?? ?'httpOnly': False,
?? ?'name': 'OUTFOX_SEARCH_USER_ID_NCOO',
?? ?'path': '/',
?? ?'secure': False,
?? ?'value': '1883563674.2397'
}]
剩余的cookie為: []

調用Javascript

可以用來控制瀏覽器滾動條

1

2

3

4

5

6

7

8

9

10

11

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

??

driver=webdriver.Chrome()

driver.get(url)

??

driver.find_element_by_id('kw').send_keys("selenium")

driver.find_element_by_id('su').click()

driver.set_window_size(600,600)

#通過js設置瀏覽器窗口的滾動條位置

js="window.scrollTo(500,500);"

driver.execute_script(js)

?Web自動化之Selenium常用操作方法大全,技術分享,軟件測試,自動化測試,前端,自動化,selenium

窗口截圖

1

2

3

4

5

6

7

8

9

10

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

??

driver=webdriver.Chrome()

driver.get(url)

??

driver.find_element_by_id('kw').send_keys("selenium")

driver.find_element_by_id('su').click()

sleep(2)

driver.get_screenshot_as_file("C:\\Users\\yangyl13\\Desktop\\3.png")

driver.quit()

關閉窗口

driver.quit() #退出相關驅動程序,關閉所有窗口

driver.close()#關閉單個窗口。

驗證碼處理

1、測試環(huán)境去掉驗證碼

2、萬能驗證碼

3、驗證碼識別技術 如python-tesseract

4、記錄cookie

下拉框選擇

from selenium.webdriver.support.select import Select
Select(driver.find_element_by_id('')).select_by_index('2')#根據下拉框索引選擇
Select(driver.find_element_by_id('')).select_by_value('Python')#根據下拉框value屬性選擇
Select(driver.find_element_by_id('')).select_by_visible_text('Python')#根據下拉框可見文本選擇

?

總結:

感謝每一個認真閱讀我文章的人?。?!

作為一位過來人也是希望大家少走一些彎路,如果你不想再體驗一次學習時找不到資料,沒人解答問題,堅持幾天便放棄的感受的話,在這里我給大家分享一些自動化測試的學習資源,希望能給你前進的路上帶來幫助。

Web自動化之Selenium常用操作方法大全,技術分享,軟件測試,自動化測試,前端,自動化,selenium

  1. 文檔獲取方式:

  2. 加入我的軟件測試交流群:680748947免費獲取~(同行大佬一起學術交流,每晚都有大佬直播分享技術知識點)

這份文檔,對于想從事【軟件測試】的朋友來說應該是最全面最完整的備戰(zhàn)倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!

以上均可以分享,只需要你搜索vx公眾號:程序員雨果,即可免費領取文章來源地址http://www.zghlxwxcb.cn/news/detail-843552.html

到了這里,關于Web自動化之Selenium常用操作方法大全的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

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

領支付寶紅包贊助服務器費用

相關文章

  • 分享幾個 Selenium 自動化常用操作

    最近工作會用到 selenium 來自動化操作一些重復的工作,那么在用selenium寫代碼的過程中,又順手整理了一些常用的操作,分享給大家。 常用元素定位方法 雖然有關selenium定位元素的方法有很多種,但是對于沒有深入學習,尤其是沒有前端知識的朋友來說,常用的就那幾招。

    2024年04月10日
    瀏覽(24)
  • Web自動化之Selenium-鼠標操作

    Web自動化之Selenium-鼠標操作

    本文總結了Selenium常用的鼠標操作。? 打開百度網站,點擊首頁的新聞。 WebDriver封裝了一套鼠標操作的包, ●引入包:from selenium.webdriver.common.action_chains import ActionChains。 ●定位元素,存儲到某個變量:ele = driver.find_element_by_×××(\\\'××\\\')。 ●固定寫法:ActionChains(driver).click(e

    2024年02月11日
    瀏覽(22)
  • web自動化系列selenium模擬按鍵操作

    一、按鍵操作 通過對監(jiān)聽鍵盤輸入的元素發(fā)送鍵盤按鈕指令 常用鍵盤按鍵 代碼演示

    2024年02月06日
    瀏覽(26)
  • web自動化—selenium中鍵盤的操作

    web自動化—selenium中鍵盤的操作

    這里有個輸入框,我需要輸入對應的數字,按enter回車鍵實現(xiàn)一個搜索 ? 顯然,我這里就使用了selenium來模擬鍵盤按enter鍵 1、Ctrl+A 2、Ctrl+C 3、Ctrl+V 4、鍵盤F4【其他的直接更換】 5、回車 6、回退 ..... 具體的其實對應的都在Keys類里面,這里直接分享出來,需要哪個就用

    2024年02月11日
    瀏覽(39)
  • Web界面自動化操作工具 - Selenium常見用法

    Selenium是一個用于自動化瀏覽器操作的工具,常用于Web應用程序的測試和爬蟲開發(fā)。 下面是一些Python Selenium的常見用法和代碼示例: 其他多種Selenuim定位元素的方法: 這些是Python Selenium的一些常見用法和代碼示例。Selenium提供了豐富的API用于模擬用戶操作和獲取頁面內容,可

    2024年02月06日
    瀏覽(25)
  • Web自動化測試進階 —— Selenium模擬鼠標操作

    Web自動化測試進階 —— Selenium模擬鼠標操作

    在實際的web產品測試中,對于鼠標的操作,不單單只有click(),有時候還要用到右擊、雙擊、拖動等操作,這些操作包含在ActionChains類中。 首先導入ActionChains類: from selenium.webdriver.common.action_chains import ActionChains context_click():右擊 double_click():雙擊 drag_and_drop():拖動 move_to_

    2024年02月09日
    瀏覽(22)
  • 軟件測試/測試開發(fā)丨Selenium Web自動化測試基本操作

    本文為霍格沃茲測試開發(fā)學社學員學習筆記分享 原文鏈接:https://ceshiren.com/t/topic/26901 模擬功能測試中對瀏覽器的操作 get方法打開瀏覽器 refresh方法刷新頁面 用back方法回退到上一個界面 maximize_window方法使窗口最大化 minimize_window方法使窗口最小化 標簽: a 屬性:href 類屬性

    2024年02月10日
    瀏覽(30)
  • 探索Python Selenium庫:自動化測試和Web操作的完整指南

    探索Python Selenium庫:自動化測試和Web操作的完整指南

    ?? 個人網站:ipengtao.com 在當今互聯(lián)網時代,Web應用程序的測試和自動化成為了至關重要的一環(huán)。Python的Selenium庫為開發(fā)者提供了一種強大的自動化測試工具,使得模擬用戶行為、執(zhí)行瀏覽器操作以及進行網頁數據采集變得更加便捷。本文將全面介紹Selenium庫的基本概念、安裝

    2024年02月03日
    瀏覽(134)
  • java+selenium自動化測試之8大常用定位方法

    java+selenium自動化測試之8大常用定位方法

    定位元素:Selenium能夠模擬用戶去瀏覽器頁面上執(zhí)行對應(輸入,點擊,清除,提交)等操作,它是憑什么方式去尋找到頁面的元素?Selenium沒有視覺、聽覺等。Selenium通過在頁面上尋找元素位置,找到元素后,然后對元素進行相應的操作,Selenium尋找元素位置的方法,稱之為

    2024年04月27日
    瀏覽(26)
  • 【selenium模塊-WEB自動化】八大網頁元素定位方法(三)

    【selenium模塊-WEB自動化】八大網頁元素定位方法(三)

    一、id 定位 標簽的 id 具有唯一性,就像人的身份證。 二、name 定位 name 指定標簽的名稱,在頁面中可以不唯一。 三、class 定位 class 指定標簽的類名,在頁面中可以不唯一。 四、tag 定位 每個 tag 往往用來定義一類功能,所以通過 tag 來識別某個元素的成功率很低,每個頁面

    2024年02月15日
    瀏覽(23)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包