<rp id="m2ttn"></rp>
<cite id="m2ttn"><span id="m2ttn"></span></cite>

<b id="m2ttn"></b>

    1. <rt id="m2ttn"></rt>
      <u id="m2ttn"></u>
      <b id="m2ttn"></b>
    2. <rp id="m2ttn"><menuitem id="m2ttn"><strike id="m2ttn"></strike></menuitem></rp>
      <cite id="m2ttn"><form id="m2ttn"></form></cite>

      實用文章:Python + Selenium(十四)下拉菜單處理

      電腦雜談  發布時間:2020-11-13 22:00:51  來源:網絡整理

      瀏覽器下拉菜單_谷歌瀏覽器下拉菜單_火狐瀏覽器下拉菜單

      傳統的下拉菜單“選擇”元素由“選擇” +一系列選項元素組成。

      <select id="source" name="source">
       
       
       
       

      對于下拉菜單,我們首先單擊下拉選項,然后單擊展開的選項之一以完成選擇。

      谷歌瀏覽器下拉菜單_火狐瀏覽器下拉菜單_瀏覽器下拉菜單

      如果使用Selenium進行模擬,則需要首先單擊Select元素,然后單擊Option,這有點麻煩。我們可以通過兩種方式處理它。

      1.直接通過Xpath單擊該選項

      通過Xpath單擊直接選項,您可以用一句代碼完成操作,而無需單擊下拉菜單。

      谷歌瀏覽器下拉菜單_火狐瀏覽器下拉菜單_瀏覽器下拉菜單

      以上面的部分HTML代碼為例:

      driver.find_element_by_xpath('//*[@id="source"]/option[@value="1002"]').click()
      

      2.使用選擇類別

      火狐瀏覽器下拉菜單_瀏覽器下拉菜單_谷歌瀏覽器下拉菜單

      雖然使用Xpath可行,但缺乏靈活性。

      WebDriver中專門提供了Select類來處理下拉菜單。

      # 導入 Select 類
      from selenium.webdriver.support.select import Select
      # 找到下拉菜單元素
      e = driver.find_element_by_id('source')
      select = Select(e)
      # 按文本選擇
      select.select_by_visible_text('合作伙伴')
      

      火狐瀏覽器下拉菜單_瀏覽器下拉菜單_谷歌瀏覽器下拉菜單

      Select類還提供按選項索引的選擇和按值的選擇:

      select.select_by_index(1)
      select.select_by_value('1003')
      

      因為我們經常使用索引和可見文本來選擇選項。所以我們簡單地封裝它:

      from selenium.webdriver.common.by import By
      from selenium.webdriver.support.select import Select
      def select(driver, locator, option=0):
          e = Select(driver.find_element(*locator))
          # 如果選項為整數,則通過 index 選擇
          if isinstance(option, int):
              e.select_by_index(option)
          # 如果選項為字符串,則通過 visible_text 選擇
          elif isinstance(option, str):
              e.select_by_visible_text(option)
          else:
              raise ValueError('只能通過index或可見文本進行下拉選項選擇!')
      # 使用
      select(driver, (By.ID, 'source'), '合作伙伴')
      

      在處理下拉菜單時需要注意。這僅適用于“選擇”標記元素。如今,網頁上有許多由ul或span組成的下拉菜單,這種方法無法處理。


      本文來自電腦雜談,轉載請注明本文網址:
      http://www.wyantai.com/a/shumachanpin/article-333075-1.html

        發表評論  請自覺遵守互聯網相關的政策法規,嚴禁發布、暴力、反動的言論

        熱點圖片
        拼命載入中...
      • 1
      • 2
      • 3
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • >
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 1
      • 国产亚洲精品资源在线26U