初識selenium之web自動化

2021-10-07 03:24:36 字數 2365 閱讀 8585

​今天我們學習下如何使用python編寫web自動化,談到web自動化,那麼我們需要了解下市面上做web自動化的幾種方式,robotframework工具,網紅webui自動化測試神器 - cypress,以及我們今天所要學習的selenium,為什麼使用selenium?上手快,開源免費,市面上使用率較高。

from selenium import webdriver      #匯入驅動

from time import sleep #匯入乙個等待時間的包

​driver = webdriver.chrome(

)#開啟瀏覽器

driver.get(

'')sleep(5)

#等待5秒

那麼接下來我們需要知道定位元素的8種方法:

1,id

2,name

3,classname

4,tagname

5,linktext

6,partiallinktext

7,xpath

8,cssselector

以上八種元素均可進行元素的定位,具體使用需根據實際html頁面情況,目前用的比較多的是xpath方法。

id,name定位方式:

from selenium import webdriver      #匯入驅動

​driver = webdriver.chrome(

)#開啟瀏覽器

driver.get(

'')driver.find_element_by_name(

'wd'

).send_keys(

'零基礎python自動化'

)#輸入內容

driver.find_element_by_id(

'su'

).click(

)

仔細檢視你會發現存在乙個class=『s_ipt』,以下例項:

driver.find_element_by_class_name(

's_ipt'

).send_keys(

'零基礎python自動化'

)#輸入內容

tagname定位

如果某個頁面的元素此標籤型別只有乙個,那麼我們也可以使用tagname進行定位:

driver.find_element_by_tag_name(

'input'

)

linktext定位:linktext是指超連結文字定位,是某個文字具有超連結性質,可以通過此定位

""class

="gray" target=

"_blank"

>零基礎python自動化<

/a>

以上展示html元素,則linktext定位如下:

driver.find_element_by_link_text(

'零基礎python自動化'

)

partiallinktext定位:模糊超連結文字定位,我們以上個超連線的html示例進行定位

driver.find_element_by_partial_link_text(

'零基礎python'

)

xpath定位:接下來我們可以重點了解一下xpath定位元素,目前公司裡的專案幾乎都可以使用xpath進行定位,xpath可以使用絕對路徑,也可以使用相對路徑。

以上我們看到的就是選擇xpath的定位方式,然後進行下面**的編輯!

driver.find_element_by_xpath(

'//*[@id="kw"]'

).send_keys(

'零基礎python自動化'

)#輸入內容

css定位:如上圖我們既可以copy_xpath,也可以copy_selector

web框架初識

目錄 所有的web應用本質上就是乙個socket服務端,而使用者的瀏覽器就是乙個socket客戶端,基於請求做出響應,客戶都先請求,服務端做出對應的響應,按照http協議的請求協議傳送請求,服務端按照http協議的響應協議來響應請求,這樣的網路通訊,我們就可以自己實現web框架了。import so...

初識web框架django

一 初識web框架 手擼乙個web框架的總結 1 web框架的本質 socket服務端與瀏覽器的通訊 2 socket服務端功能劃分 a.負責與瀏覽器收發訊息 socket通訊 wsgiref uwsgi gunicorn b.根據使用者訪問的不同路徑執行不同的函式 自己寫c.從html中讀取內容,...

selenium處理web彈出框視窗

做專案經常會遇到 彈出框,對於這種彈出框的識別我總結一般用三種 第一種是alert視窗識別 這個網上很多,也簡單 第二種是js視窗識別 這個網上很多例子 最近遇到前面兩種都不能識別,用firepath定位發現不是alert,也不是js.解決方法 driver.switch to default co...