85度c蛋糕房网站系统建设,百度关键词排名,义务网站建设,郑州网站建设套餐1.简介 按宏哥计划#xff0c;本文继续介绍WebDriver关于元素定位大法#xff0c;这篇介绍By ClassName。看到ID#xff0c;NAME这些方法的讲解#xff0c;小伙伴们和童鞋们应该知道#xff0c;要做好Web自动化测试#xff0c;最好是需要了解一些前端的基本知识。有了前端…1.简介 按宏哥计划本文继续介绍WebDriver关于元素定位大法这篇介绍By ClassName。看到IDNAME这些方法的讲解小伙伴们和童鞋们应该知道要做好Web自动化测试最好是需要了解一些前端的基本知识。有了前端知识做元素定位会很轻松同样写网络爬虫也很有帮助话题扯远了回到Selenium自动化测试。
2.常用定位方法8种
1id 2name3class name今天讲解 4tag name 5link text 6partial link text 7xpath 8css selector
3.自动测试实战百度搜索北京宏哥
跟随宏哥的脚步有了前边两篇的经验想必这个应该很简单的了吧宏哥这里就不赘述了没有前菜直接上正菜。
3.1代码设计
通过主要步骤把代码都设计好了宏哥只需要将其串起来调试脚本即可。如下图所示 3.2参考代码
package lessons;import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;/*** author 北京-宏哥* 公众号北京宏哥* 2021年7月21日*/
public class ByClassName {public static void main(String [] args) throws InterruptedException {System.setProperty(webdriver.gecko.driver, .\\Tools\\chromedriver.exe); //指定驱动路径WebDriver driver new ChromeDriver ();//最大化窗口 driver.manage().window().maximize(); driver.get(http://wwww.baidu.com);//By name 定位WebElement wid driver.findElement(By.className( s_ipt ));wid.sendKeys(北京宏哥);driver.findElement(By.id( su )).click();//定位到文本将文本高亮显示//创建一个JavascriptExecutor对象JavascriptExecutor js (JavascriptExecutor)driver;//新闻文本高亮显示颜色js.executeScript ( arguments[0].setAttribute(style, arguments[1]);,wid,background: orange; border: 2px solid red;);Thread.sleep (5000);driver.quit();}
}
3.3运行代码
1.运行代码右键Run AS-java Application控制台输出如下图所示 2.运行代码后电脑端的浏览器的动作如下小视频所示 4.小结 好了今天到这里通过name定位就介绍完了其实很简单就是找元素的name一般来说name不都是唯一的那就需要换其他的定位方法了当然了特殊的另说。一般都是绝大多数特殊是个例也就是我们常说的另类如果目标元素节点有这个name属性我们就采用By name,如果没有就换成其他方法例如id例如XPath一般XPath是万能的。感谢你耐心的阅读。
5.拓展
有的小伙伴或者童鞋们可能觉得今天学习了如何使用class name定位就初生牛犊不怕虎的将”百度一下“的按钮也使用class name来定位了代码设计如下 结果报错了Exception in thread main org.openqa.selenium.InvalidSelectorException: invalid selector: Compound class names not permitted控制台报错如下图所示 电脑端的浏览器电脑端浏览器百度输入框里输入“北京宏哥”就卡住没有反应不会点击“百度一下”按钮。如下小视频所示 原因分析根据代码报错和脚本测试回放发现在定义文本输入框是没有问题但是在定位百度一下这个按钮就出问题。报错提示告诉了我们原因无效的selector,不允许组合的class name。根本原因是这个className bg s_btn_wr有空格所以以后遇到classname有空格的就换成别的定位元素方法。这里解释下selector的意思有时候有些文章或说localtor特别是Selenium for Python就会说localtorlocaltor就像我们寄快递的地址一样。这里localtor By 各种方法对应的值。By我们知道有8中方法所有对应有八种值这里值就是错误信息中提到的selector明白了吧。 每天学习一点今后必成大神-
往期推荐由于跳转参数丢失了所有建议选中要访问的右键在新标签页中打开链接即可访问:
Appium自动化系列耗时80天打造的从搭建环境到实际应用精品教程测试
Python接口自动化测试教程熬夜87天整理出这一份上万字的超全学习指南
PythonSelenium自动化系列通宵700天从无到有搭建一个自动化测试框架
JavaSelenium自动化系列仿照Python趁热打铁呕心沥血317天搭建价值好几K的自动化测试框架
Jmeter工具从基础-进阶-高级费时2年多整理出这一份全网超详细的入门到精通教程
Fiddler工具从基础-进阶-高级费时100多天吐血整理出这一份全网超详细的入门到精通教程
Pycharm工具基础使用教程