免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
python selenium下拉列表option對象操作方法一

參考官方文檔:https://selenium.dev/selenium/docs/api/py/webdriver_support/selenium.webdriver.support.select.html?highlight=all_selected_options#selenium.webdriver.support.select.Select.all_selected_options

一、導(dǎo)入(import)

from selenium.webdriver.support.select import Select

二、選擇(select)

Select類提供了三種選擇某一選項(xiàng)的方法:

               select_by_index(index)

               select_by_value(value)

               select_by_visible_text(text)

注意:

  1. index從 0 開始
  2. value是option標(biāo)簽的一個(gè)屬性值,并不是顯示在下拉框中的值
  3. visible_text是在option標(biāo)簽中間的值,是顯示在下拉框的值

三、反選(deselect)

有選擇必然有反選,即取消選擇。Select提供了四個(gè)方法給我們?nèi)∠瓉淼倪x擇:

           deselect_by_index(index)

deselect_by_value(value)
deselect_by_visible_text(text)
deselect_all()

前三種分別于select相對應(yīng),第四種是全部取消選擇,是的,你沒看錯(cuò),是全部取消。

有一種特殊的select標(biāo)簽,即設(shè)置了multiple=”multiple”屬性的select,這種select框是可以多選的,

可以通過多次select,選擇多項(xiàng)選項(xiàng),而通過deselect_all()來將他們?nèi)咳∠?/p>

注意:下面兩個(gè),表示的意思一樣

                                                           #返回第一個(gè)或者當(dāng)前  被選中  的子項(xiàng)
print(Select(driver.find_element_by_xpath('//select[@id='nr']')).first_selected_option.text)  
                                                            # 輸出當(dāng)前選擇的第一項(xiàng),即顯示第二個(gè)
now = Select(driver.find_element_by_css_selector('body > form > select')).first_selected_option
print(now.text)

 ================================================================================

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
#from selenium.webdriver.support.select import Select
from selenium.webdriver.support.ui import Select
from time import sleep


driver = webdriver.Firefox()
driver.implicitly_wait(10)
driver.get('http://www.baidu.com')

#--------------------------------------------------------------------------------

link = driver.find_element_by_link_text('設(shè)置')
ActionChains(driver).move_to_element(link).perform() #鼠標(biāo)懸停在上面
sleep(5)

driver.find_element_by_class_name('setpref').click() # 打開搜索設(shè)置
sleep(2)


#-------------------------------------------------------------------------

sleep(3)
print('顯示第二個(gè)子項(xiàng)(2):')
Select(driver.find_element_by_xpath('//select[@id='nr']')).select_by_index(1) #選擇第二個(gè)options子項(xiàng) ,每頁顯示20條
print(Select(driver.find_element_by_xpath('//select[@id='nr']')).first_selected_option.text) #返回第一個(gè)或者當(dāng)前 被選中 的子項(xiàng)


sleep(3)
print('顯示第三個(gè)子項(xiàng)(50):')
Select(driver.find_element_by_xpath('//select[@id='nr']')).select_by_value('50') #選擇value為'每頁顯示50條'的子項(xiàng),即選擇第三個(gè)子項(xiàng)
print(Select(driver.find_element_by_xpath('//select[@id='nr']')).first_selected_option.text) #返回第一個(gè)或者當(dāng)前 被選中 的子項(xiàng)


sleep(3)
print('顯示第二個(gè)子項(xiàng)(20):')
Select(driver.find_element_by_xpath('//select[@id='nr']')).select_by_visible_text('每頁顯示20條') #選擇text值為'每頁顯示20條'的子項(xiàng)
print(Select(driver.find_element_by_xpath('//select[@id='nr']')).first_selected_option.text) #返回第一個(gè)或者當(dāng)前 被選中 的子項(xiàng)


sleep(3)
print('顯示當(dāng)前被選中的子項(xiàng)(第二個(gè)子項(xiàng)20):')
print(Select(driver.find_element_by_xpath('//select[@id='nr']')).first_selected_option.text) #返回第一個(gè)或者當(dāng)前 被選中 的子項(xiàng) #每頁顯示20條

#-------------------------------------------------------------------------------------


options = driver.find_elements_by_xpath('//*[@id='nr']/option')

options[1].click() #第二個(gè)子項(xiàng)被選中
sleep(2)

options[2].click() #第三個(gè)子項(xiàng)被選中
sleep(2)

options[0].click() #第一個(gè)子項(xiàng)被選中
sleep(2)

#-----------------------------------------------------------------------

print(options[0].text)
print(options[1].text)
print(options[2].text)

#-----------------------------------------------------------------------


driver.quit()


顯示第二個(gè)子項(xiàng)(2):
每頁顯示20條
顯示第三個(gè)子項(xiàng)(50):
每頁顯示50條
顯示第二個(gè)子項(xiàng)(20):
每頁顯示20條
顯示當(dāng)前被選中的子項(xiàng)(第二個(gè)子項(xiàng)20):
每頁顯示20條

每頁顯示10條
每頁顯示20條
每頁顯示50條

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

===============================================================================================================

from selenium import webdriver
from selenium.webdriver.support.ui import Select
from time import sleep

driver = webdriver.Firefox()
driver.get('https://www.runoob.com/runcode') # 打開瀏覽器,進(jìn)入演示頁面

driver.find_element_by_css_selector('#codeinp').clear() # 定位輸入框文本域 # 清空文本域

# 輸入多選下拉框的演示源碼 (multiple='multiple\')
texts = '<html> ' \
'<body><form><select multiple=\'multiple\' name=\'cars\'><option value=\'volvo\'>Volvo</option>' \
'<option value=\'saab\'>Saab</option><option value=\'fiat\'>Fiat</option>\' \
\'<option value=\'audi\'>Audi</option></select></form></body></html>'

driver.find_element_by_css_selector('#codeinp').send_keys(texts)


driver.find_element_by_css_selector('#btrun').click() # 點(diǎn)擊提交代碼
sleep(2)

#--------------------------------------------------------------------------------------------------------

all_handles = driver.window_handles
driver.switch_to.window(all_handles[1]) #切換到新的打開的運(yùn)行頁面

#-------------------------------------------------------------------------------------------------------
# 選擇全部的選項(xiàng)(多選),一個(gè)接著一個(gè)選擇,直到全部選擇

Select(driver.find_element_by_css_selector('body > form > select')).select_by_index(0)
sleep(1)

Select(driver.find_element_by_css_selector('body > form > select')).select_by_index(1)
sleep(1)

Select(driver.find_element_by_css_selector('body > form > select')).select_by_index(2)
sleep(1)

Select(driver.find_element_by_css_selector('body > form > select')).select_by_index(3)
sleep(1)

#----------------------------------------------------------------------------------------------------------------

# 取消選擇第一項(xiàng)選項(xiàng)(頁面上可以觀察到變化)
Select(driver.find_element_by_css_selector('body > form > select')).deselect_by_index(0)
sleep(1)
# 輸出當(dāng)前選擇的第一項(xiàng),即顯示第二個(gè)
now = Select(driver.find_element_by_css_selector('body > form > select')).first_selected_option
print(now.text)

#取消第二個(gè)選項(xiàng)
#Select(driver.find_element_by_css_selector('body > form > select')).deselect_by_value('\'saab\'')
Select(driver.find_element_by_css_selector('body > form > select')).deselect_by_visible_text('Saab')
sleep(3)

#即取消三、四選項(xiàng)
Select(driver.find_element_by_css_selector('body > form > select')).deselect_all() #取消所有選項(xiàng)
sleep(3)

#---------------------------------------------------------------------------------------------------------

driver.close()
 
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python Selenium:瀏覽器彈出框處理
使用python實(shí)現(xiàn)問卷星自動(dòng)答題功能
使用 Selenium 進(jìn)行模擬登入和頁面內(nèi)容的獲取
Python制作自動(dòng)答題腳本,100%準(zhǔn)確率,1秒10題提高效率
Selenium2+python自動(dòng)化27
web自動(dòng)化筆記十四:PO模式封裝
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服