【Selenium】通过Select模块,处理下拉框选择的控件。

11 篇文章 0 订阅

用Selenium操作浏览器时,如果是input,我们可以用id、name、css等进行定位。

<input type="text" id="fromStationText" class="inp-txt inp_selected" value="" name="leftTicketDTO.from_station_name">

但是当控件是下拉框时,就不是input了,需要通过另外的方法了。

<select class="select-small" id="cc_start_time"><option value="00002400">00:00--24:00</option>
<option value="00000600">00:00--06:00</option>
<option value="06001200">06:00--12:00</option>
<option value="12001800">12:00--18:00</option>
<option value="18002400">18:00--24:00</option>
</select>

具体可以看下面这段代码。更多见注释 。

# coding=utf-8

# 从selenium引入webdriver驱动
from selenium import webdriver

# 引入time的sleep方法,使用sleep(3)可让程序等待1s
# 也可以使用import time,使用时代码为time.sleep(3)
from time import sleep

# 用来处理 选择下拉框的数据
from selenium.webdriver.support.select import Select

# 代表使用Chrome浏览器,并返回1个对象driver。
# 声明1个变量,并赋值网址
# 然后通过driver对象的get方法打开
# 浏览器最大化
# 等待3秒钟
driver = webdriver.Chrome()
url_12306="https://kyfw.12306.cn/otn/leftTicket/init"
driver.get(url_12306)
driver.maximize_window()
sleep(3)

# 发车时间变量,并转为select的下拉格式
start_time=Select(driver.find_element_by_id("cc_start_time"))

# Select提供了三种方法,分别是索引(从0开始,1就是2)、值、文本。
start_time.select_by_index(1)
sleep(2)
start_time.select_by_value("06001200")
sleep(2)
start_time.select_by_visible_text("12:00--18:00")
sleep(2)

driver.quit()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值