• python+webdriver,选取Select下拉框中的值


    在选择下拉框中的值时遇到了困难,用driver.find_element_by_id("").send_keys("")进行赋值不能成功获取下拉框中的值。
     
    此次是补充以前的文档,以前是用xpath去获得select中的option,但是用xpath如果改变了顺序会很麻烦,也可以用Select去获得option,而且比较简单。
     
    一、使用Select(这里用的是python,如果用Java的话也可以去搜一下,网上方法很多)
    比如要选中下面select中的第2个option
    element = self.driver.find_element_by_id("Operator0")
    sel = Select(element)
    sel.select_by_value("!=")
    这样就可以获得这个option了,当然这几行代码可以合为一行
    Select(self.driver.find_element_by_id("Operator0")).select_by_value("!=")
     
     
    二、使用Xpath:  
    下面是W3C网站上关于xpath的一些知识,有兴趣的可以自己去查找来看一下。

    路径表达式结果

    /bookstore/book[1] 选取属于 bookstore 子元素的第一个 book 元素。
    /bookstore/book[last()] 选取属于 bookstore 子元素的最后一个 book 元素。
    /bookstore/book[last()-1] 选取属于 bookstore 子元素的倒数第二个 book 元素。
    /bookstore/book[position()<3] 选取最前面的两个属于 bookstore 元素的子元素的 book 元素。
    //title[@lang] 选取所有拥有名为 lang 的属性的 title 元素。
    //title[@lang='eng'] 选取所有 title 元素,且这些元素拥有值为 eng 的 lang 属性。
    /bookstore/book[price>35.00] 选取 bookstore 元素的所有 book 元素,且其中的 price 元素的值须大于 35.00。
    /bookstore/book[price>35.00]/title 选取 bookstore 元素中的 book 元素的所有 title 元素,且其中的 price 元素的值须大于 35.00。

        

    下面是我这次编写过程中与到的问题实例。
    一、具体的页面代码如下:
     

    二、编写的脚本
    driver.find_element_by_xpath("//select[@id='CerType']/option[#value=2]").click()
    通过上面的代码成功获得了“护照”。
     
    PS:推荐一个小插件,XPath Checker,Firefox的附件组件,可以直接右键查看元素的XPath。
     
     
     
     
     
                                                      发布日期:2014-03-07 10:54
  • 相关阅读:
    Xpath在选择器中正确,在代码中返回的是空列表问题
    爬虫爬取实例与乱码的处理
    计算机知识
    Django的学习(六)————templates过滤器、Django shell、admin
    Django的学习(五)————实战问题
    Django的学习(四)———— admin
    Django的学习(三)————models
    Window10 MySQL5.7.X 使用SSL连接
    asp.net 防止 跨站脚本
    实用的Windows 工具命令
  • 原文地址:https://www.cnblogs.com/meitian/p/3683372.html
Copyright © 2020-2023  润新知