乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      python selenium下拉列表option對(duì)象操作方法一

       禁忌石 2023-01-03 發(fā)布于浙江

      參考官方文檔:https://v/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相對(duì)應(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()
       

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多