【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)

问题分析

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

解决方案

  1. 使用通配符,修改className,使其不包含空格
  2. 更换其他属性识别

【Selenium】 FAQ_对象识别_Compound class names are not supported,布布扣,bubuko.com

时间: 2024-08-09 22:02:57

【Selenium】 FAQ_对象识别_Compound class names are not supported的相关文章

使用nodeitk进行对象识别

前言 东莞,晴,29至27度.忙了一天,终于可以写写东西了.今天继续昨天的话题,我们在昨天的例了基础上完善,通过匹配关键点求出映射从而找到场景中的已知对象. 目标 本文你将学习 采用nodeitk的findHomography和perspectiveTransform进行对象识别. 此外,例子基本包含nodeitk的一些基本数据结构的使用:NodeOpenCVMat, NodeOpenCVKeyPoint, NodeOpenCVPoint 上述基本的数据结构在nodeitk版本稳定后将会在使用手

对象识别技术将完美融入AR与VR领域

原文标题:对象识别技术将完美融入AR与VR领域 随着三星Bixby这样的人工智能数字助手的推出,我们可以预计智能手机将不再局限于发信息.打电话.或进行娱乐活动.它们可以帮助我们更快地完成任务.通过语音命令数字助手查找和呼叫某人远比在手机上打开应用,翻寻名字并点击确认更具效率. 现在,随着对象识别和计算机视觉技术正逐渐融入至人工智能和增强现实,我们使用虚拟助手的方式也在发生改变.移动设备摄像头不再局限于拍摄功能,它们还能够实时解读图像信息,为工人提供真实的帮助. 对象识别技术带来的一个好处是,其提

selenium借助AutoIt识别上传(下载)详解

转自:http://www.cnblogs.com/fnng/p/4188162.html AutoIt目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务. 官方网站:https://www.autoitscript.com/site/ 从网站上下载AutoIt并安装,安装完成在菜单中会看到图4.13的目录: 图4.13  AutoIt菜单 AutoIt

转:Selenium借助AutoIt识别上传(下载)详解

AutoIt目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务. 从网站上下载AutoIt并安装,安装完成在菜单中会看到图4.13的目录: 图4.13  AutoIt菜单 AutoIt Windows Info   用于帮助我们识Windows控件信息. Compile Script to.exe 用于将AutoIt生成 exe 执行文件. Run Sc

python selenium 自动化测试图片识别1

本人纯野生测试猿一头,做了一年web 功能测试,测试了一年机顶盒,还是想做回老本行 ,自学了一段时间selenium ,学习过程中,遇到了网页中需要输入验证码的问题,网上查阅资料,依葫芦画瓢凑成(水平有限)了一段登陆网站挂课的脚本(亲测通过),现跟大家分享如下: 大神勿喷 from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains import timefrom P

Selenium页面对象+数据驱动测试框架

工程的目录结构: pom.xml文件: <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apach

python+selenium之元素识别二

一.元素识别 1.submit 1)提交表单 2)解决有些大表单提交按钮在浏览器下方固定隐藏 driver.find_element(By.XPATH, '//form[@target="hiddenwin"]').submit() 2.size 获取元素的尺寸 size = driver.find_element(By.XPATH,'//a[@id="virus-2020"]').size #获得文本 print(size) 3.text获取 text = dri

selenium操作测试对象

1.基本操作元素方法 clear:清除 sendkeys:模拟键输入 click:单击 submit:提交表单 2.webelement接口常用方法 getsize():获取对象的大小 gettext():获取对象的文本 getAttribute():获取对象的属性值 getTagname():获取对象的标签名称 getLocation():获取对象坐标 getcookies():获取回话中的 cookies isenable():判断对象是否被禁用 isdisplayed():判断对象是否可见

UI对象识别

JNA 是基于JNI(Java Native Interface)构建的,可以和其他非Java 语言交互,主要用于处理插件程序(ActiveX). JNA(Java Native Access )提供一组Java工具类用于在运行期动态访问系统本地库(native library:如Window的dll)而不需要编写任何Native/JNI代码.开发人员只要在一个java接口中描述目标native library的函数与结构,JNA将自动实现Java接口到native function的映射. 主