使用python爬虫的selenium操作网页的下拉框。
以该网站为例:https://www.17sucai.com/pins/demo-show?id=5926
该网页下存在多个可供测试的下拉框。
基本脚手架代码:
from selenium.webdriver.support.ui import Select
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get('https://www.17sucai.com/pins/demo-show?id=5926')
# 切换到iframe
driver.switch_to.frame(driver.find_element_by_id('iframe'))
定位下拉框(以第一个下拉框为例)
Select()方法select_elm = Select(driver.find_element_by_class_name('nojs'))
不推荐这样定位
select_elm = driver.find_element_by_class_name('nojs').click()
选中下拉框,点击
driver.find_element_by_xpath('//option[@value="JP"]').click()
第一个下拉框的可选值如图所示
选择下拉框中的值,有以下三种方法
1.根据索引选择
select_elm.select_by_index(2)
符合索引规则,从0开始计数,自动选择了Canada值。
2.根据值选择
select_elm.select_by_value('CA')
这里的值指的是value属性,而不是文本字符串。
运行结果同上。
3.根据可视的文本选择
select_elm.select_by_visible_text('Canada')
即看到的是什么,选择的就是什么。
运行结果同上。