前面章節的代碼書寫程序中,其實已經接觸到了元素的操做方法,如
click()與send_keys()方法,
click()方法用于單擊元素,如,
driver.find_element_by_xpath("//*[@id='sb_form_go']").click()
send_keys()用于模擬在元素上輸入內容,如,
driver.find_element_by_xpath("//*[@id='sb_form_q']").send_keys("bella")
本節一起來看看元素的操做方法還有哪些,
1. 清除元素的內容
clear()用于清除元素中已有的內容,
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get("http://cn.bing.com/")
#先賦值bella
driver.find_element_by_xpath("//input[@id='sb_form_q']").send_keys("bella")
sleep(2)
#清空搜索框
driver.find_element_by_xpath("//input[@id='sb_form_q']").clear()
sleep(1)
driver.quit()
2. 提交表單
submit()用于提交form表單內容或者模擬回車操作,有時可替代click()方法,代碼如下:
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get("http://cn.bing.com/")
driver.find_element_by_xpath("//input[@id='sb_form_q']").send_keys("bella") #先賦值bella
# driver.find_element_by_xpath("//input[@id='sb_form_go']").click()
driver.find_element_by_xpath("//input[@id='sb_form_go']").submit()
sleep(1)
driver.quit()
3. 獲取元素的尺寸
size方法用于獲取元素尺寸,Bing首頁的Bing圖的所在的div區域大小為132*52,如圖所示,

::: hljs-center
Bing網站
:::
獲得bing圖所在區域大小的代碼如下:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://cn.bing.com/")
#bing首頁的logo圖
size = driver.find_element_by_xpath("/html/body/table/tbody/tr/td/div/div[2]/div[1]").size
print(size)
# #或如下代碼
#for key,value in size.items():
# print(key+':'+str(value))
driver.quit()
運行結果可以在PyCharm控制臺中得到{'height': 52.0, 'width': 132.0},
4. 獲取元素屬性與文本
get_attribute()方法用于獲取元素的相關屬性,
Bing首頁,搜索框元素的html代碼如下,該元素id、class、name等屬性均有,
<input id="sb_form_q" name="q" title="輸入搜索詞" type="search" value="" maxlength="100" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" aria-controls="sw_as" aria-autocomplete="both" aria-owns="sw_as" data-bm="20">
通過get_attribute()方法獲取該元素的name屬性值,代碼如下:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://cn.bing.com/")
# 獲得搜索框元素name屬性值
NameValue = https://www.cnblogs.com/starpoint/p/driver.find_element_by_xpath("//input[@id='sb_form_q']").get_attribute("name")
print(NameValue)
driver.quit()
Text方法用于獲取元素文本,
Bing首頁存在2個Tab區域,分別是【國內版】與【國外版】,如圖所示,

::: hljs-center
bing網站
:::
通過text方法可獲得【國內版】元素的文本資訊,代碼如下:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://cn.bing.com/")
# 獲得【國內版】Tab的text
TabValue = https://www.cnblogs.com/starpoint/p/driver.find_element_by_xpath("//*[@id='est_cn']").text
print(TabValue)
driver.quit()
如果你覺的文章讀的不過癮,可以查看詳細的視頻教程,
【2021】UI自動化測驗:Selenium3自動化測驗
https://edu.51cto.com/course/26488.html
【測驗全系列視頻課程】請點擊我哦…
( https://edu.51cto.com/lecturer/968349.html)
學習路線如下



圖書京東、當當有售
京東: https://item.jd.com/12784287.html
當當: http://product.dangdang.com/29177828.html

如果你覺的文章讀的不過癮,可以查看詳細的視頻教程,
【2021】UI自動化測驗:Selenium3自動化測驗
https://ke.qq.com/course/3172187?tuin=9c43f38e
【測驗全系列視頻課程】請點擊我哦.....
《全堆疊測驗系列視頻》課程
地址:https://ke.qq.com/course/2525707?tuin=9c43f38e
圖書京東、當當有售
京東:https://item.jd.com/12784287.html
當當:http://product.dangdang.com/29177828.html)!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/298000.html
標籤:其他
