zoukankan      html  css  js  c++  java
  • 【Selenium专题】 FAQ_对象识别_Compound class names are not supported

    测试代码

     1     public void login(){
     2 
     3         WebDriver driver = new ChromeDriver();
     4 
     5         driver.get("http://IP:Port/client/login.html");
     6 
     7         driver.findElement(By.id("username")).sendKeys("admin");
     8 
     9         driver.findElement(By.id("pwd")).sendKeys("111111");
    10 
    11         driver.findElement(By.className("btn btn-primary")).click();
    12 
    13     }

    报错信息

    Starting ChromeDriver (v2.9.248315) on port 8850
    
    Starting ChromeDriver (v2.9.248315) on port 26269
    
    Exception in thread "main" org.openqa.selenium.IllegalLocatorException: Compound class names are not supported. Consider searching for one class name and filtering the results.
    
    Build info: version: '2.23.1', revision: '17143', time: '2012-06-08 18:59:28'
    
    System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_60'
    
    Driver info: driver.version: unknown
    
        at org.openqa.selenium.By.className(By.java:131)
    
        at omstest.find.main(find.java:52)

    问题分析

    WerbDriverby.className() 不支持含有空格的class名称,第1行代码中,className"btn btn-primary"中包含空格,引发报错。

    解决方案 

    1. 使用通配符,修改className,使其不包含空格
    2. 更换其他属性识别
  • 相关阅读:
    放大镜
    简单拖拽加边界处理加轨迹返回
    事件委托
    数组的方法
    数据处理
    数组去重
    字符串的操作方法
    函数的递归调用
    选择排序、冒泡排序
    Linux—shell中$(( ))、$( )、``与${ }的区别
  • 原文地址:https://www.cnblogs.com/sylvia-liu/p/3824408.html
Copyright © 2011-2022 走看看