之前涉及web元素操作的方法講解較少,主要有click()和send_keys()這2種方法疏遏。那么本篇文章將講述更多web元素操作的方法,包括對“編輯框,下拉框,勾選框,以及復(fù)選框”的一些常用操作河哑。希望感興趣的小伙伴可以堅(jiān)持看下去同時(shí)歡迎提出寶貴的意見讓我們一起進(jìn)步喇嘱!
有如下的html片段:
<div style="color:#0000FF">
<input id="input1" placeholder="請輸入用戶名" value="用戶名">
<br><br>
<textarea id="ta1"></textarea></div>
<div>
<p>選擇性別</p>
<input type="radio" name="gender" value="male">男<br>
<input type="radio" name="gender" value="female"checked="checked">女<br>
<select id="single">
<option value="male">男</option>
<option value="female" selected="selected">女</option></select>
<div>
<p>選擇語言</p>
<input type="checkbox" name="vehicle" value="python"checked >
我愛python
<br>
<input type="checkbox" name="vehicle" value="java">
我愛Java</div>
<div>
<p>選擇愛車</p>
<select id="multi" multiple>
<option value="benz" selected="selected">奔馳S300</option>
<option value="accord">雅閣</option>
<option value="bmw" selected="selected">寶馬 740</option>
</select></div>
<button name='button'>按鈕1</button>
<a >轉(zhuǎn)到百度</a>
前置條件:
from selenium import webdriver
driver=webdriver.Chrome()
driver.implicitly_wait(5)
driver.get('file:///C:/Users/qin/Desktop/5.html')
01:編輯框常用操作
1)清空輸入框:input_ele.clear()
2)獲取輸入框已經(jīng)輸入的文本內(nèi)容:input_ele.get_attribute('value')
input_ele=driver.find_element_by_id('input1')
input_ele.send_keys('測試清空內(nèi)容')
(1)需求點(diǎn)1:獲取 input() 元素里面輸入的文本內(nèi)容
print(input_ele.get_attribute('value'))
(2)需求點(diǎn)2:清空輸入內(nèi)容
input_ele.clear()
02:單選框常用操作
1)特點(diǎn):只能單選,不管原來該元素是否選中直接去點(diǎn)擊該元素即可,都可以確保該單選框被選中
2)操作:直接調(diào)用WebElement的click()方法,模擬用戶點(diǎn)擊即可
ele=driver.find_element_by_css_selector('[value="male"]')
ele.click()
03:勾選框常用操作
1)特點(diǎn):可以多選,點(diǎn)擊被選中的元素則會(huì)取消選中狀態(tài),反之亦然。
2)操作:通過is_selected()查看元素是否處于選中狀態(tài),調(diào)用click()進(jìn)行選擇
selected=driver.find_element_by_css_selector('[value="java"]').is_selected()
if not selected:
driver.find_element_by_css_selector('[value="java"]').click()
04:復(fù)選框常用操作
1)類型:①可以選擇多個(gè)元素的多選下拉框②只能選擇一個(gè)元素的單選下拉框
2)特點(diǎn):都是下拉框類型的元素
①多選下拉框可以通過ctrl+點(diǎn)擊選擇多個(gè)元素;
②單選下拉框只能選擇一個(gè)元素且必須選擇一個(gè)元素3)操作:將元素用Select類進(jìn)行包裝
①模擬選擇(兩種下拉框都通用):調(diào)用select_by_visible_text(),參數(shù)是option元素的文本值
②取消選擇(僅限多選下拉框):deselect_by_visible_text()
③取消所有選擇(僅限多選下拉框):deselect_all()4)注意:只有遇到 select 標(biāo)簽名的才能用 select 類
from selenium.webdriver.support.select import Select
#將元素用Select類進(jìn)行包裝,獲得相應(yīng)的webElement
(1)多選下拉框:通過選項(xiàng)文本直接選擇元素
select=Select(driver.find_element_by_id('multi'))
select.select_by_visible_text('雅閣')
(2)多選下拉框:取消選擇
select.deselect_by_visible_text('寶馬 740')
(3)取消所有選擇
select.deselect_all()
(4)單選下拉框:通過選項(xiàng)文本直接選擇元素
select=Select(driver.find_element_by_id('single'))
select.select_by_visible_text('男')
05:點(diǎn)擊按鈕而柑、鏈接常用操作
操作:按鈕、鏈接的點(diǎn)擊都非常簡單,找到該元素直接調(diào)用WebElement的click()方法,模擬用戶點(diǎn)擊即可
(1)點(diǎn)擊按鈕操作
driver.find_element_by_css_selector("[ name='button']").click()
(2)點(diǎn)擊鏈接操作
driver.find_element_by_css_selector('[).click()