一、頁面元素操作
web自動化測驗其實就是通過模擬手工測驗,我們現在要通過代碼來實作測驗,首先我們要知道要操作的物件在哪?然后再對其頁面元素物件做什么樣的操作?也就引出下面兩個概念:
1、頁面元素定位
2、selenium API (如:點擊、選擇、輸入文本內容等)
二、頁面8元素定位方式
1、id:在一個頁面具有唯一性
2、name :常用來定位輸入框
3、class_name:也比較常用,注意點:它的值中間如果有空格,是不能用的
4、link_text:文本鏈接定位
5、partial_link_text:通過部分文本內容鏈接定位
6、tag_name:
7、xpath:xpath運算式,后續主要通過這個方法來定位元素
8、css_selector:css運算式,與xpath運算式只需熟練掌握一種即可,推薦使用xpath
三、小案例:通過百度搜索“瓜牛強強”文本
具體如何定位?步驟:
1、打開瀏覽器,百度網頁,按下F12或者在設定中打開開發者工具

2、通過做左上角的箭頭,定位到“百度輸入框”,獲取該元素的一些屬性資訊,如:id="kw"

3、用同樣的方法,定位到“百度一下”按鈕的屬性資訊id="su"
4、上代碼
# 匯入包
import time
from selenium import webdriver
# 打開瀏覽器
driver = webdriver.Chrome()
# 瀏覽器最大化
driver.maximize_window()
# 打開一個網頁
driver.get("http://www.baidu.com")# 列印當前的瀏覽器地址
# 通過id找到需要操作的元素(百度輸入框):元素定位
baidu_Input_box = driver.find_element('id','kw')
# 為了看到效果可以加個時間等待
time.sleep(1)
# 對百度輸入框,輸入“瓜牛強強”
baidu_Input_box.send_keys("瓜牛強強")
# 通過id找到需要操作的元素(百度一下按鈕):元素定位
baidu_button = driver.find_element('id','su')
# 點擊百度按鈕
baidu_button.click()
time.sleep(2)
# 關閉整個瀏覽器,并且關閉驅動chromedriver
driver.quit()
四、Webelement物件
1、物件的屬性
(1)tag_name:獲取元素的標簽名
(2)text:獲取元素的text文本
(3)parent:獲取元素的上一級
(4)get_attribute():獲取元素屬性
2、操作
(1)click():點擊元素
(2)send_keys():輸入文本
(3)submit:提交
(4)clear():清空
"""
時間:2021/7/24-15:13
檔案:class_02_01.py
姓名:瓜牛強強
QQ:1689785398@qq.com
"""
# 匯入包
import time
from selenium import webdriver
# 打開瀏覽器
driver = webdriver.Chrome()
# 瀏覽器最大化
driver.maximize_window()
# 打開一個網頁
driver.get("http://www.baidu.com")# 列印當前的瀏覽器地址
# 通過id找到需要操作的元素(百度輸入框):元素定位
baidu_Input_box = driver.find_element('id','kw')
# 為了看到效果可以加個時間等待
time.sleep(1)
# 對百度輸入框,輸入“瓜牛強強”
baidu_Input_box.send_keys("瓜牛強強")
# 獲取元素的text文本:不是每一個元素都有text,如果沒有回傳空
print(baidu_Input_box.text)
# 獲取元素的標簽名
print(baidu_Input_box.tag_name)
# 獲取元素的上一級
print(baidu_Input_box.parent)
# 獲取元素屬性
print(baidu_Input_box.get_attribute('id'))
# 通過id找到需要操作的元素(百度一下按鈕):元素定位
baidu_button = driver.find_element('id','su')
# 點擊百度按鈕
baidu_button.click()
time.sleep(2)
# 關閉整個瀏覽器,并且關閉驅動chromedriver
driver.quit()
To be continue,點個關注,持續更新,,,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/290065.html
標籤:其他
