python selenium selector 循环选择

Select提供了三种选择方法:

# 通过选项的顺序,第一个为 0 
select_by_index(index)
# 通过value属性 
select_by_value(value) 
# 通过选项可见文本
select_by_visible_text(text) 

Select提供了四种方法取消选择:

deselect_by_index(index) 
deselect_by_value(value) 
deselect_by_visible_text(text) 
deselect_all()

Select提供了三个属性方法给我们必要的信息:

# 提供所有的选项的列表,其中都是选项的WebElement元素 
options 
# 提供所有被选中的选项的列表,其中也均为选项
all_selected_options的WebElement元素 
# 提供第一个被选中的选项,也是下拉框的默认值
first_selected_option 

示例代码:

from selenium import webdriver

driver = webdriver.Chrome()
driver.maximize_window()
driver.get("http://************/center_tjbg.shtml")
#通过contains函数,提取匹配特定文本的所有元素
frame = driver.find_element_by_xpath("//iframe[contains(@src,‘http://**********/cms-search/monthview.action?action=china&channelFidStr=e990411f19544e46be84333c25b63de6‘)]")
#进入iframe页面
driver.switch_to.frame(frame)
#获取select标签
select = driver.find_element_by_id("channelFidStr")
# 获取select里面的option标签,注意使用find_elements
options_list=select.find_elements_by_tag_name(‘option‘)
# 遍历option
for option in options_list:
    #获取下拉框的value和text
    print ("Value is:%s  Text is:%s" %(option.get_attribute("value"),option.text))
#退出iframe
driver.switch_to_default_content()
driver.quit()

 

def is_option_value_present(self,element_id,tag_name,option_text):
        driver = self.driver
        select=driver.find_element_by_id(element_id)
        # 注意使用find_elements
        options_list=select.find_elements_by_tag_name(tag_name)
        for option in options_list:
            # print ("Value is: " + option.get_attribute("value"))
            # print ("Text is:" +option.text)
            if option_text in option.text:
                select_value=option.get_attribute("value")
                print ("option_textoption_textoption_textValue is: " + select_value)
                break
        return select_value

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值