xml地图|网站地图|网站标签 [设为首页] [加入收藏]

智能家电

当前位置:美高梅游戏网站 > 智能家电 > python webdriver中对下拉框通过文本值的选择,

python webdriver中对下拉框通过文本值的选择,

来源:http://www.gd-chuangmei.com 作者:美高梅游戏网站 时间:2019-09-03 13:44

python webdriver中对下拉框通过文本值的选择,

在自动化中python对下拉框的处理网上相对实例比较少,其它前辈写的教程中对下拉也仅仅是相对与教程来说的,比如下面:

m=driver.find_element_by_id("ShippingMethod")
m.find_element_by_xpath("//option[@value='10.69']").click()

对下拉框后再进行属性定位的点击!

但在实际应用中,不可能通过value值来判断,一般都是通过当前显示的值来判断,所以教程只能教你入门,但应用还得靠自己。

废话少说,开始教程

一、典型的select option格式下接框

比如下面这样一段html代码,在实际自动化测试中不可能通过value值来判断,因为每次都得看value值,更多的时候是通过title值来判断的

<html>
<body>


<div class="menu_bar" style="margin: 0px 5px 0px 135px;">
  <div style="display: inline; ">
    <form style="display:inline" name="productForm" action="lib/general/navBar.php" method="get">
                       <input type='hidden' name='CSRFName' id='CSRFName' value='CSRFGuard_1522071984' />
                       <input type='hidden' name='CSRFToken' id='CSRFToken' value='a1bd2844bf055061e48b4ed7a1400f5574030db73737bbdb356ec9ab3efa0cd9de4187f0a521f28f2b2a85574d01171c674d81cdcec7410e1cca36c31e7919c0' />
       测试产品
      <select style="font-size: 80%;position:relative; top:-1px;" name="testproject" onchange="this.form.submit();">
                    <option value="2" title="test1:某某某监控系统"
            >
            test1:某某某监控系统</option>
                  <option value="12810" title="test2:某某能力平台"
            >
            test2:某某能力平台</option>
                  <option value="1332" title="test3:某某财务系统"
            >
            test3:某某财务系统</option>
                  <option value="12684" title="test4:公共平台"
            >
            test4:公共平台</option>
                  <option value="1" title="test5:北京雾霾监控"
             selected="selected" >
            test5:北京雾霾监控</option>
                  <option value="31823" title="test6:QQ对接"
            >
            test6:QQ对接</option>
                  <option value="32154" title="test7:南方都市报"
            >
            test7:南方都市报</option>
                  <option value="1528" title="test8:联通平台"
            >
            test8:联通平台/option>
                  <option value="944" title="test9:移动平台"
            >
            test9:移动平台</option>
              </select>
    </form>
  </div>
</body>
</html>

测试产品
test1:某某某监控系统
test2:某某能力平台
test3:某某财务系统
test4:公共平台
test5:北京雾霾监控
test6:QQ对接
test7:南方都市报
test8:联通平台/option>
test9:移动平台

例如我们要选择 test6:QQ对接  该如何选择呢,

方法一如下:

    #遍历下拉框并选择需要的项目
    select = browser.find_element_by_name("testproject")
    allOptions = select.find_elements_by_tag_name("option")

    for option in allOptions:
        print "Value is: " + option.get_attribute("value")
        print "Text is:" +option.text
        if 'test6' in option.text:
            option.click()
            break

也可用网上的方法二:

Select(driver.find_element_by_name("testproject")).select_by_visible_text("test6:QQ对接")

但方法二必需要将文本写全才对选择,如果写错那也不能选

 

二、用了bootstrap特效的dropdow下拉框

 如下图中的下拉框

图片 1

图片 2

类型这种用下面这种方法:

browser.find_element_by_xpath("//div[contains(@class,'chosen-c')]").click()
time.sleep(1)

lis=browser.find_elements_by_xpath("//ul[@class='chosen-results']/li")

for li in lis:
    if "行业测试" in li.text:
        i.click()
        break
time.sleep(2)

也是通过获取元素对像list来遍历,得到想要的数据后就停止,这里注意

find_elements_by_xpath   是elements


总结:在实际自动化测试中page_object模式中,这就非常方例如将数据提取出来了


参考:http://www.bubuko.com/infodetail-1115484.html

webdriver中对下拉框通过文本值的选择, 在自动化中python对下拉框的处理网上相对实例比较少,其它前辈写的教程中对下拉也仅仅是相...

图片 3

package com.selenium.gen;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.openqa.selenium.WebElement;

public class Select {

public static void main(String[] args) {

// TODO Auto-generated method stub

//定义一个路径

String path="D:\jase\select.html";

//打开浏览器

WebDriver driver=new FirefoxDriver();

//打开页面

driver.navigate().to(path);

//定位select元素

WebElement elemnt=driver.findElement(By.id("ShippingMethod"));

//定位option中的元素

elemnt.findElements(By.tagName("option")).get(1).click();

//关闭浏览器

driver.quit();

}

}

本文由美高梅游戏网站发布于智能家电,转载请注明出处:python webdriver中对下拉框通过文本值的选择,

关键词: