一:select类
webDriver提供特定的select类实现与网页上的列表和下拉菜单的交互
select功能:
all_selected_options:获取下拉菜单和列表中被选中的所有选项内容
eg:select.element.all_selected_options
first_selected_option:获取下拉菜单和列表的第一个选项/当前选择项
options:获取下拉菜单和列表的所有选项
select方法
deselect_all():清除多选下拉菜单和列表的所有选择项
select_by_index(index):根据索引选择下拉菜单和列表的选择
deselect_by_index(index):根据索引清除下拉菜单和列表的选择项
select_by_value(value):选择所有选项值和给定参数匹配的下拉菜单和列表的选择项
deselect_by_value(value):清除所有选项值和给定参数匹配的下拉菜单和列表的选择项
select_by_visible_text(text):选择所有展示的文本和给定参数匹配的下拉菜单和列表的选择项
deselect_by_visible_text(text):清除所有展示的文本和给定参数匹配的下拉菜单和列表的选择项
二:操作警告和弹出框
1.Alert:webdriver通过alert类来操控javascript警告。包含的方法有:接受,驳回,输入和获取警告的文本
功能:text:获取警告窗口的文本 eg:alert.text
方法:accept() :接受js警告信息,单击ok按钮 eg:alert.accept()
dismiss():驳回警告信息,单击取消按钮
**send_keys(*value)**模拟给元素输入信息
#coding=utf-8
from selenium import webdriver
import unittest
from selenium.webdriver.support.select import Select
class SelectTest(unittest.TestCase):
def setUp(self):
self.driver=webdriver.Chrome()
self.driver.implicitly_wait(30)
self.driver.maximize_window()
self.driver.get("https://www.baidu.com/")
def tearDown(self):
self.driver.quit()
def test_setting_options(self):
driver = self.driver
driver.find_element_by_link_text('设置').click()
driver.find_element_by_link_text('搜索设置').click()
exp_options = ['每页显示10条','每页显示20条','每页显示50条']
act_options = []
select_setting=Select(driver.find_element_by_id("nr"))
self.assertEqual(3,len(select_setting.options))
self.assertTrue('每页显示10条',select_setting.first_selected_option.text)
if __name__ == "__main__":
unittest.main(verbosity=2)