今天我們學習下如何使用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...