(十四)下拉框选择

虫师 创建于 8 个月 之前

最后更新时间 2018-11-03


有时我们会碰到下拉框,WebDriver提供了Select类来处理下拉框。 如百度搜索设置的下拉框,如下图:

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

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

# 鼠标悬停至“设置”链接
driver.find_element_by_link_text('设置').click()
sleep(1)
# 打开搜索设置
driver.find_element_by_link_text("搜索设置").click()
sleep(2)

# 搜索结果显示条数
sel = driver.find_element_by_xpath("//select[@id='nr']")
Select(sel).select_by_value('50')  # 显示50条
# ……

driver.quit()

Select类用于定位select标签。

select_by_value() 方法用于定位下接选项中的value值。

我要留言

  • #coding=utf-8 #作者:徐婷 #时间:2019.04.22 #描述:下拉框选择 #这个我跑通了,大家可以参考下

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

    driver = webdriver.Chrome() driver.implicitly_wait(10) driver.get("http://www.baidu.com")

    #鼠标悬停至“设置”链接 link = driver.find_element_by_link_text("设置") ActionChains(driver).move_to_element(link).perform() sleep(2)

    #打开设置搜索 driver.find_element_by_class_name("setpref").click() sleep(2)

    #搜索结果显示条数 sel = driver.find_element_by_xpath("//*[@id='nr']") Select(sel).select_by_value("50") #显示50条 #...

    driver.quit()

    尘埃24 创建于 2019-04-22 14:34:13

  • 复制原码过去都是错的

    zq 创建于 2019-04-11 15:48:20

  • se = driver.find_element_by_xpath("//select[@id='nr']") se = driver.find_element_by_xpath("//select[@name='NR']") se = driver.find_element_by_xpath("//[@id='nr']") se = driver.find_element_by_xpath("//[@name='NR']") 怎么写都是错的

    这句话怎么写都是错的

    zq 创建于 2019-04-11 15:46:02

  • 鼠标悬停至“设置”链接

    driver.find_element_by_link_text('设置').click()
    你注释是鼠标悬停,但是代码写的是点击事件。

    z977690557 创建于 2019-04-03 16:18:35