W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
我們已經(jīng)知道怎么向一個(gè)文本框和文本域輸入內(nèi)容,但是其他元素我們要怎么處理? 你可以觸發(fā)下拉選框,并且用?setSelected
?方法來讓一個(gè)選項(xiàng)被選中,處理選擇框不會(huì)很困難:
element = driver.find_element_by_xpath("http://select[@name='name']")
all_options = element.find_elements_by_tag_name("option")
for option in all_options:
print("Value is: %s") % option.get_attribute("value")
option.click()
這段代碼會(huì)找到頁面的第一個(gè)選擇框元素,然后遍歷每個(gè)選項(xiàng),輸出他們的值,并且依次選中。
你可以看到,這種方式處理選擇框不太高效,?WebDriver
?支持許多類,其中包括一個(gè)?Select
?的類,給我們提供了許多有用的方法:
from selenium.webdriver.support.ui import Select
select = Select(driver.find_element_by_name('name'))
select.selct_by_index(index)
select.select_by_visible_text("text")
select.select_by_value(value)
?WebDriver
? 也提供了取消選中選項(xiàng)的方法:
select = Select(driver.find_element_by_id('id'))
select.deselect_all()
上面的代碼會(huì)取消頁面第一個(gè)選擇框的所有選中項(xiàng)。
假設(shè)測試中,我們需要所有默認(rèn)選中項(xiàng)的列表,?Select
?類提供了一個(gè)屬性:
select = Select(driver.find_element_by_xpath("xpath"))
all_selected_options = select.all_selected.options
獲取所有可用的選項(xiàng):
options = select.options
一旦你填寫完表單,一般就要提交表單,一個(gè)方法是找到提交按鈕然后點(diǎn)擊它:
# Assume the button has the ID "submit" :)
driver.find_element_by_id("submit").click()
?WebDriver
? 對每個(gè)元素都提供一個(gè)?submit
?方法,如果在一個(gè)表單內(nèi)的元素上調(diào)用,?WebDriver
?會(huì)沿著?DOM
?樹往上一直尋找,直到找到一個(gè)閉合的表單為止,然后調(diào)用?submit
?方法;如果元素不在表單內(nèi),那么會(huì)拋出一個(gè)?NoSuchElementException
?異常。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: