• 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
  • 相关阅读:
    [转]Kqueue与epoll机制
    [转]Docker中的镜像
    [转]linux awk命令详解
    [转]Linux Shell 1>/dev/null 2>&1 含义
    file_get_contents(): SSL operation failed with code 1...解决办法和stream_context_create作用
    PHP abstract与interface之间的区别
    PHP基于Redis的全局订单号id
    Eclipse for php+Xdebug,搭建php单步调试环境
    Eclipse launch configuration----Eclipse运行外部工具
    MySql 缓冲池(buffer pool) 和 写缓存(change buffer) 转
  • 原文地址:https://www.cnblogs.com/meitian/p/3683372.html
Copyright © 2020-2023  润新知