10. select下拉框

  • select 元素是一种表单控件,可用于在表单中接受用户输入
  • 百度->设置->搜索设置,查看select属性
    • select id="nr",name="NR",对应三个选项:每页显示10/20/50条
      • 二次定位:先定位select框,再定位select中的选项
    • # coding:utf-8
      from selenium  import webdriver
      from selenium.webdriver.common.action_chains import ActionChains
      import time
      driver=webdriver.Firefox()
      driver.get("https://www.baidu.com")
      time.sleep(10)
       #打开搜索设置
      mouse=driver.find_element_by_link_text("设置")
      ActionChains(driver).move_to_element(mouse).perform()
      driver.find_element_by_link_text("搜索设置").click()
      time.sleep(10)
      #定位select下拉框
      s=driver.find_element_by_id("nr")
      #定位select选项
      s.find_element_by_xpath("//option[@value='50']").click()
      #保存设置
      driver.find_element_by_class_name("prefpanelgo").click()

       

      • 直接定位
        • # coding:utf-8
          from selenium  import webdriver
          from selenium.webdriver.common.action_chains import ActionChains
          import time
          driver=webdriver.Firefox()
          driver.get("https://www.baidu.com")
          time.sleep(10)
           #打开搜索设置
          mouse=driver.find_element_by_link_text("设置")
          ActionChains(driver).move_to_element(mouse).perform()
          driver.find_element_by_link_text("搜索设置").click()
          time.sleep(10)
          #直接定位到select选项
          driver.find_element_by_xpath(".//*[@id='nr']/option[2]").click()
          #保存设置
          driver.find_element_by_class_name("prefpanelgo").click()
      • select模块(index)
        • 导入select模块:from selenium.webdriver.support.select import Select
        • 根据属性或索引定位:select_by_index(),index计数从0开始
        • # coding:utf-8
          from selenium  import webdriver
          from selenium.webdriver.common.action_chains import ActionChains
          from selenium.webdriver.support.select import Select
          import time
          driver=webdriver.Firefox()
          driver.get("https://www.baidu.com")
          time.sleep(10)
           #打开搜索设置
          mouse=driver.find_element_by_link_text("设置")
          ActionChains(driver).move_to_element(mouse).perform()
          driver.find_element_by_link_text("搜索设置").click()
          time.sleep(10)
          #通过索引定位:select_by_index()
          s=driver.find_element_by_id("nr")
          Select(s).select_by_index(0)
          #保存设置
          driver.find_element_by_class_name("prefpanelgo").click()

           

      • select模块(value)
        • select_by_value(),value计数从1开始
        • # coding:utf-8
          from selenium  import webdriver
          from selenium.webdriver.common.action_chains import ActionChains
          from selenium.webdriver.support.select import Select
          import time
          driver=webdriver.Firefox()
          driver.get("https://www.baidu.com")
          time.sleep(10)
           #打开搜索设置
          mouse=driver.find_element_by_link_text("设置")
          ActionChains(driver).move_to_element(mouse).perform()
          driver.find_element_by_link_text("搜索设置").click()
          time.sleep(10)
          #通过索引定位:select_by_value(),设置为20每页
          s=driver.find_element_by_id("nr")
          Select(s).select_by_value("20")
          #保存设置
          driver.find_element_by_class_name("prefpanelgo").click()

           

      • select模块(text)
        • 定位“每页显示50条”:select_by_visible_text("每页显示50条")
        • # coding:utf-8
          from selenium  import webdriver
          from selenium.webdriver.common.action_chains import ActionChains
          from selenium.webdriver.support.select import Select
          import time
          driver=webdriver.Firefox()
          driver.get("https://www.baidu.com")
          time.sleep(10)
           #打开搜索设置
          mouse=driver.find_element_by_link_text("设置")
          ActionChains(driver).move_to_element(mouse).perform()
          driver.find_element_by_link_text("搜索设置").click()
          time.sleep(10)
          #通过索引定位:select_by_value(),设置为20每页
          s=driver.find_element_by_id("nr")
          Select(s).select_by_visible_text("每页显示50条")
          #保存设置
          driver.find_element_by_class_name("prefpanelgo").click()
      • select模块其他方法
        • select_by_index()

          通过索引定位 选中select下拉框中某一项

          select_by_value()

          通过value值定位

           select_by_visible_text()

          通过文本值定位

           deselect_all()

          取消所有选项 取消select下拉框中选中项

           deselect_by_index()

          取消对应index选项

           deselect_by_value()

          取消对应value选项

           deselect_by_visible_text()

          取消对应文本选项

           first_selected_option()

          返回第一个选中的选项 返回option信息

           all_selected_options()

          返回所有已选中的选项

           options()

          返回所有的选项

           

posted on 2019-07-13 15:49  Arcy  阅读(164)  评论(0编辑  收藏  举报

导航