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

分享幾個(gè) Selenium 自動化常用操作

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

最近工作會用到selenium來自動化操作一些重復(fù)的工作,那么在用selenium寫代碼的過程中,又順手整理了一些常用的操作,分享給大家。

常用元素定位方法

雖然有關(guān)selenium定位元素的方法有很多種,但是對于沒有深入學(xué)習(xí),尤其是沒有前端知識的朋友來說,常用的就那幾招。

基于xpath和css

一般來說,我首選xpath,因?yàn)橹苯觕hrome右鍵就能直接復(fù)制路徑

driver.find_element("xpath", "xxxxxx")

但是有時(shí)xpath是動態(tài)變化的,直接復(fù)制一下不頂用,所以第二選項(xiàng)是基于CSS

driver.find_element("css_selector", "xxxxxx")

你要問我兩個(gè)都是直接復(fù)制粘貼,有手就行,為啥css排第二?因?yàn)榇蠖鄶?shù)情況下,css樣式的代碼都是長長一坨,萬一不頂用,刪起來太麻煩了。

基于屬性

如果上面懶人方法不管用,一般我會再嘗試是否能找到一些唯一的屬性來定位,這就要自己找到想定位的標(biāo)簽,觀察其對應(yīng)html屬性,例如使用id

driver.find_element("id", "xxxxxx")

或者是class_name

driver.find_element("class_name", "xxxxxx")

不過這種方法,要求其屬性值是唯一的,所以也不是萬能的,如果這兩種方法都沒法讓你順利定位到頁面元素,那可能就要花一點(diǎn)功夫去深入研究了。

輸入本文

有時(shí)我們需要在輸入框輸入一些文本,例如賬號密碼或者SQL語句才能執(zhí)行下一步操作,使用selenium也可以輕松完成。

如果輸入框是使用ipput標(biāo)簽,那么就可以使用上面的定位元素方法定位到輸入框,并使用send_keys來傳入文本。

  driver.find_element("xpath", "xxxxxx").send_keys("xxxxxx")

但如果頁面輸入框,并不是<input>形式寫的,更多的時(shí)候是一個(gè)富文本編輯器寫在div里面,或者是套在iframe標(biāo)簽里面,這種情況都無法直接通過定位元素來傳遞文本,大多數(shù)情況需要先點(diǎn)擊激活編輯器,然后再send_keys,例如下面的形式

 
  1. driver.find_element(By.CSS_SELECTOR, ".view-lines").click() #點(diǎn)擊編輯器

  2. driver.find_element(By.CSS_SELECTOR, ".inputarea").send_keys("xxxxx")

但這種情況,編輯框都是動態(tài)加載的,在實(shí)際操作時(shí)需要靈活運(yùn)用。

等待指定元素加載完畢

有時(shí)我們需要的頁面內(nèi)容需要先通過幾步點(diǎn)擊才能出現(xiàn),自然而然就會想到先等幾秒,再去操作,但如果對每個(gè)按鈕都是強(qiáng)制等待一個(gè)固定的時(shí)間,程序就會顯得笨笨的,selenium當(dāng)然提供一個(gè)方法去讓你告訴程序,等到某個(gè)元素一出來,就去執(zhí)行后面的頁面操作

 
  1.   from selenium.webdriver.support.ui import WebDriverWait

  2.   from selenium.webdriver.support import expected_conditions as EC

  3.   WebDriverWait(driver, 30).until(EC.element_to_be_clickable((By.CSS_SELECTOR, '.el-table__row'))).click()

上面的代碼就是告訴程序,在30秒內(nèi)等到含有'.el-table__row'這個(gè)樣式的css元素出現(xiàn),就去點(diǎn)擊它,如果超過30秒就超時(shí),后面可以是重試或者異常處理。

接管當(dāng)前瀏覽器

最后一個(gè)實(shí)用的技巧,就是如果讓selenium接管當(dāng)前的瀏覽器。

如果你嘗試寫過selenium就會知道,每次執(zhí)行程序,就會啟動一個(gè)新的chrome進(jìn)程,從頭開始執(zhí)行操作,所有登錄過的cookie都沒了,你需要全部重新操作一遍,這樣就很麻煩。

又或者,你根本就不會破解登錄,你的任務(wù)是可以自動化的,但是需要先進(jìn)行登錄,登錄模塊你又搞不定,難道就不能告訴selenium你就用我登錄好的瀏覽器去執(zhí)行代碼嗎?

答案是可以且操作簡單的,我們只需要在命令行先使用下面的代碼啟動一個(gè)遠(yuǎn)程調(diào)試模式的chrome。

chrome.exe --remote-debugging-port=9222 --user-data-dir="C:/user/liuzaoqi/desktop"

這時(shí)會新增一個(gè)瀏覽器窗口,不要關(guān)閉他,之后在你的Python自動化調(diào)試代碼開頭添加如下內(nèi)容

 
  1.  from selenium import webdriver

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

  3.   chrome_options=Options()

  4.   chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")

  5.   driver = webdriver.Chrome(chrome_options=chrome_options) # 啟動瀏覽器

現(xiàn)在,selenium就接管了剛剛系統(tǒng)打開的瀏覽器,你的代碼也將直接在瀏覽器當(dāng)前打開的頁面下執(zhí)行,你完全可以先手動將你無法自動化的操作執(zhí)行完畢,再去寫其他的代碼。文章來源地址http://www.zghlxwxcb.cn/news/detail-846017.html

到了這里,關(guān)于分享幾個(gè) Selenium 自動化常用操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 自動化測試2:selenium常用API

    自動化測試2:selenium常用API

    目錄 1.webdirver API 1.1.定位元素 1.2CSS 1.語法 2,使用 1.3XPath定位 1.語法 2.使用 2.操作測試對象 2.1.鼠標(biāo)點(diǎn)擊與鍵盤輸入 2.2submit 提交表單 2.3text 獲取元素文本 3.添加等待 3.1.sleep休眠 3.2.智能等待 3.2.1.隱式等待 3.2.2顯示等待 4.打印信息 4.1打印url 4.2打印title 5.瀏覽器的操作 5.1瀏覽器

    2024年02月09日
    瀏覽(20)
  • Selenium 自動化操作

    Selenium 自動化操作

    嘿,小伙伴們周末有沒有像? 大豬 ?一樣在加班的,今天分享一個(gè)超有意思的東西?Selenium?自動化測試/調(diào)式工具。 Selenium 就像真實(shí)用戶所做的一樣,Selenium 測試可以在 Windows、Linux 和 Macintosh上的 Internet Explorer、Chrome和 Firefox 中運(yùn)行。其他測試工具都不能覆蓋那么多的平臺。

    2024年02月19日
    瀏覽(22)
  • 【Selenium自動化測試】操作Cookie

    所謂\\\"cookie\\\"數(shù)據(jù)是指某些網(wǎng)站為了辨別用戶身份,儲存在用戶本地終端上的數(shù)據(jù)(通常經(jīng)過加密),由用戶客戶端計(jì)算機(jī)暫時(shí)或永久保存的信息。通俗來講就是指緩存數(shù)據(jù),包括用戶名、密碼、注冊賬戶、手機(jī)號等公民個(gè)人信息。 在Web自動化測試時(shí),我們也經(jīng)常需要對其進(jìn)行

    2024年02月03日
    瀏覽(22)
  • 如何使用 Selenium 實(shí)現(xiàn)自動化操作?

    如何使用 Selenium 實(shí)現(xiàn)自動化操作?

    本篇咱們來談?wù)凷elenium自動化腳本是如何工作的,以及如何實(shí)現(xiàn)一個(gè)簡單的自動化示例; 一、關(guān)于Selenium 1.1、為什么選擇它作為web自動化的測試工具? 選擇Selenium作為web自動化測試工具的原因(面試也許會問): 1. 開源免費(fèi); 2. 支持多瀏覽器,如Chrome、 Firefox、IE瀏覽器等;

    2024年02月02日
    瀏覽(30)
  • selenium自動化測試-鼠標(biāo)鍵盤操作

    selenium自動化測試-鼠標(biāo)鍵盤操作

    前面我們已經(jīng)學(xué)完了8種定位方式和利用Firefox插件協(xié)助定位,學(xué)會了定位了,自動化就成功了一半。 但是我們好像只是定位,定位后的操作并不多,我們今天要系統(tǒng)的了解下鼠標(biāo)鍵盤操作。 回顧下我們之前的簡單操作: 1.click()?點(diǎn)擊按鈕 2.clear() 清除輸入框 3.send_keys() 輸入字

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

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

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

    2024年04月27日
    瀏覽(26)
  • selenium自動化的輸入和回車操作

    # 導(dǎo)入模塊 from selenium.webdriver import Chrome # 導(dǎo)入鍵盤 from selenium.webdriver.common.keys import Keys # 導(dǎo)入時(shí)間模塊 import time # 創(chuàng)建一個(gè)瀏覽器 web = Chrome() # 打開一個(gè)網(wǎng)址 web.get(\\\"http://xxxxxxxxx.com\\\") # 找到某個(gè)元素. 點(diǎn)擊它 el = web.find_element_by_xpath(\\\'//*[@id=\\\"changeCityBox\\\"]/ul/li[1]/a\\\') el.click() ?# 點(diǎn)擊

    2024年02月03日
    瀏覽(28)
  • Web自動化之Selenium-鼠標(biāo)操作

    Web自動化之Selenium-鼠標(biāo)操作

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

    2024年02月11日
    瀏覽(22)
  • ?基于多種語言,使用Selenium實(shí)現(xiàn)自動化的常用單元測試框架

    ?基于多種語言,使用Selenium實(shí)現(xiàn)自動化的常用單元測試框架

    Selenium是自動化網(wǎng)絡(luò)應(yīng)用程序的首選工具。Selenium支持基于Java、C#、PHP、Ruby、Perl、JavaScript和Python等多種編程語言的各種單元測試框架。這些框架用于在 Windows、MacOS 和 Linux 等不同平臺的網(wǎng)絡(luò)應(yīng)用程序上執(zhí)行測試腳本。任何成功的自動化流程都有賴于強(qiáng)大的測試框架,這些框架

    2024年01月21日
    瀏覽(27)
  • selenium入門超詳細(xì)教程——網(wǎng)頁自動化操作

    selenium入門超詳細(xì)教程——網(wǎng)頁自動化操作

    Selenium是廣泛使用的模擬瀏覽器運(yùn)行的庫,它是一個(gè)用于Web應(yīng)用程序測試的工具。 Selenium測試直接運(yùn)行在瀏覽器中,就像真正的用戶在操作一樣,并且支持大多數(shù)現(xiàn)代 Web 瀏覽器。下面就進(jìn)入正式的學(xué)習(xí)階段。 激活虛擬環(huán)境 通過pip安裝 針對不同的瀏覽器,需要安裝不同的驅(qū)動

    2024年02月03日
    瀏覽(27)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包