# -*- coding: utf-8 -*-
import time
from selenium import webdriver
from selenium.webdriver.support.ui import Select
'''
设置浏览器Chrome.IE.
浏览器窗口最大化
设置启动浏览器等待时间
实例化下拉框操作
'''
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(5)
select_element = Select(element)
driver.get(url='') #打开要测试的网页
driver.find_element_by_id(id=)send_keys('text') #文本输入操作
driver.find_element_by_xpath(xpath=).click() #按钮点击操作
#定位方式有如下方法
'''
find_element_by_id:通过id属性定位元素(返回第一个匹配的)。
find_element_by_name:通过name属性定位元素(返回第一个匹配的)。
find_element_by_xpath:通过xpath定位元素(返回第一个匹配的)。
find_element_by_link_text:通过超链接文本定位超链接元素,必须是完全匹配(返回第一个匹配的)。
find_element_by_partial_link_text:通过超链接文本定位超链接元素,可以是部分匹配(返回第一个匹配的)。
find_element_by_tag_name:通过标签名字定位元素(返回第一个匹配的)。
find_element_by_class_name:通过class属性定位元素(返回第一个匹配的)。
find_element_by_css_selector:使用CSS选择器语法定位元素(返回第一个匹配的)
批量定位则(element)改为负数(elemengts)
'''
#下拉框操作
'''
select_element.select_by_index(index) #根据index定位,从0开始
select_element.select_by_value(value) #根据value属性定位
select_element.select_by_visible_text(text) #根据文本定位
'''
S = Select(driver.find_element_by_id(id)) #实例化下拉框
S.select_by_value(value=) #根据值去选
S.select_by_index(index=) #根据选项索引去选
S.select_by_visible_text(text=) #根据选项名称去选
for select in S.options:
print (select.text) #获取下拉框里的所有选项
for select in S.all_selected_options:
print (select.text) #如果是多选型下拉框,则获取到已经选择的选项
print(S.first_selected_option.text) #获取下拉框默认值
S.deselect_by_index(index=) # 根据值顺序取消选择
S.deselect_by_value(value=) # 根据value属性取消选择
S.deselect_by_visible_text("text") # 根据文本取消选择
S.deselect_all() #取消选择已经选中的选项