学科分类
目录
网络爬虫

填充表单

我们已经知道了怎样向文本框中输入文字,但是有时候我们会碰到< select> < /select>标签的下拉框,直接点击下拉框中的选项不一定可行。例如,下列代码是一个下拉框的示例。

<select id="status" class="form-control valid" onchange="" name="status">
  <option value=""></option>
  <option value="0">未审核</option>
  <option value="1">初审通过</option>
  <option value="2">复审通过</option>
  <option value="3">审核不通过</option>
</select>

它的显示图片如图1所示。

img

图1 下拉框

对于下拉框,Selenium专门提供了Select类来处理,该类提供了三种选择下拉框的方式:根据索引选择、根据值选择以及根据文字选择。示例代码如下。

# 导入Select类
from selenium.webdriver.support.ui import Select
# 找到下拉框元素
select = Select(driver.find_element_by_name('status'))
# 选择下拉框的某一个选项
select.select_by_index(1)          # 根据索引选择
select.select_by_value("0")         # 根据值选择
select.select_by_visible_text(u"未审核")  # 根据文字选择

在选择下拉框的选项时要注意:

  • index索引从0开始。

  • value是option标签的一个属性值,并不是显示在下拉框中的值。

  • visible_text是在option标签文本的值,是显示在下拉框的值。

那么,取消全部选择怎么办呢?也很简单,只需使用如下代码即可。

select.deselect_all()
点击此处
隐藏目录