[转]Selenium html之于ul标志代码分析与使用
原文链接 https://www.cnblogs.com/guoguo-15/p/4409419.html
分析:https://github.com/页面Li
<div class="header header-logged-out"><div class="container clearfix"><a class="header-logo-wordmark" href="https://github.com/">Github</a><ul class="top-nav"><li class="explore"><a href="https://github.com/explore">Explore GitHub</a></li><li class="search"><a href="https://github.com/search">Search</a></li><li class="features"><a href="https://github.com/features">Features</a></li><li class="blog"><a href="https://github.com/blog">Blog</a></li></ul><div class="header-actions"><a class="button primary" href="https://github.com/signup">Sign up for free</a><a class="button" href="https://github.com/login">Sign in</a></div></div>
WebElement element1 = webdriver.findElement(By.id("header")); WebElement element2 = webdriver.findElement(By.name("name")); WebElement element3 = webdriver.findElement(By.tagName("a")); WebElement element4 = webdriver.findElement(By.xpath("//a[@title='logo']")); WebElement element5 = webdriver.findElement(By.cssSelector(".feautures")); WebElement element6 = webdriver.findElement(By.linkText("Blog")); WebElement element7 = webdriver.findElement(By.partialLinkText("Ruby")); WebElement element8 = webdriver.findElement(By.className("login")); |
List<WebElement> webElements = webdriver.findElements(By .xpath("//ul[@class='nav logged_out']/li")); |
13使用 CSS 选择器 (By.cssSelector()
) 来检索LI
标记。
List<WebElement> webElements = webdriver.findElements(By .cssSelector("ul.nav li")); |
可在所检索的项数量上生成断言,如 清单 14所示。
Assert.assertEquals(5, webElements.size()); |
前面的步骤验证了LI
标记数量等于 5。
下一步是检索每个LI
标记中的每个锚点(A
标记)。
展示了如何在第一个LI
中获取锚点。此用例使用了 tagName (By.tagName()
) 策略。
WebElement anchor1 = webElements.get(0).findElement(By.tagName("a")); |
您可以使用类似的方法收集到所有的 5 个锚点,如 清单 16所示。
WebElement anchor1 = webElements.get(0).findElement(By.tagName("a")); WebElement anchor2 = webElements.get(1).findElement(By.tagName("a")); WebElement anchor3 = webElements.get(2).findElement(By.tagName("a")); WebElement anchor4 = webElements.get(3).findElement(By.tagName("a")); WebElement anchor5 = webElements.get(4).findElement(By.tagName("a")); |
在这一阶段,您可以验证,锚点内的文本是否与所期望的字符串一致。要检索标记内的文本,WebDriver 提供了getText()
方法。清单 展示了完整的测试方法,以及测试底部的断言。
Assert.assertEquals("Signup and Pricing", anchor1.getText()); A
ssert.assertEquals("Explore GitHub", anchor2.getText());
Assert.assertEquals("Features", anchor3.getText());
Assert.assertEquals("Blog", anchor4.getText());
Assert.assertEquals("Login", anchor5.getText());
分类: selenium
[转]Selenium html之于ul标志代码分析与使用相关推荐
- Selenium IDE使用指南四(代码导出)
入门 您可以通过右键单击测试或套件,选择Export,选择目标语言,然后单击,将测试或套件的测试导出到WebDriver代码Export. 这会将包含导出的目标语言代码的文件保存到浏览器的下载目录中. ...
- selenium爬取网页部分HTML代码
selenium爬取网页部分HTML代码 1.构造webdriver启动方法 2.保存完整HTML代码 3.保存部分HTML代码,及其他方法 其他方案1:BeautifulSoup 其他方案2:lxm ...
- 最没灵魂的爬虫——Selenium 游戏信息的爬取与分析
最没有灵魂的爬虫--Selenium 游戏信息爬取与分析 准备工作 IDE选取 selenium安装 ChromeDriver安装与配置 还需要用到的其他python库 数据爬取 杉果游戏的数据获取 ...
- Linux内核汇编代码分析
Linux内核汇编代码分析 1.vmlinux.lds.S文件分析 1.2 vmlinux.lds.S文件总体框架 1.3 代码段 1.4 只读数据段 1.5 init段 1.6 数据段 1.7 未初 ...
- 模块加载过程代码分析1
一.概述 模块是作为ELF对象文件存放在文件系统中的,并通过执行insmod程序链接到内核中.对于每个模块,系统都要分配一个包含以下数据结构的内存区. 一个module对象,表示模块名的一个以null ...
- 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 二 | 准备参数 | 远程调用 mmap 函数 )
文章目录 一.准备 mmap 函数的参数 二.mmap 函数远程调用 一.准备 mmap 函数的参数 上一篇博客 [Android 逆向]Android 进程注入工具开发 ( 注入代码分析 | 远程调 ...
- ping的实现和代码分析
ping的实现和代码分析 一.介绍 ping命令是用来查看网络上另一个主机系统的网络连接是否正常的一个工具.ping命令的工作原理是: 向网络上的另一个主机系统发送ICMP报文,如果指定系统 ...
- s3c6410 uboot代码分析《一》
来源:http://hi.baidu.com/__eabi/blog/item/be67533797bc73f014cecb49.html 以下用以记录uboot代码的分析过程,目标是s3c6410, ...
- jquery.desktop.js 代码分析
jquery.desktop.js是一个用来在网页上显示类似桌面效果的东东,下面分析其代码: // // Namespace - Module Pattern. // var JQD = (funct ...
- 【UAV】高度控制代码分析
文章目录 代码分析 MotorControl() 控制流程图 代码分析 MotorControl() case PROCESS_31: {int16_t thr_temp;// 这里的定高标志在 Mo ...
最新文章
- PCL-1.8.1从源码搭建开发环境三(QHULL库的编译)
- python之路---装饰器函数
- 据说这是中途接手别人项目时的场景
- 将h.264视频流封装成flv格式文件
- 4高并发服务器:UDP局域网服务器(组播)
- 高一数学集合知识点整理_高一数学知识点总结
- RedEngine11
- js 加密url java_js 对 URL 参数进行 加密 解密
- 简单易懂——Dijkstra算法讲解
- python多级菜单_python练习题:多级菜单(dict练习)
- 一:Proficloud - EMMA能源管理+EMpro智能电表
- 【Visual Studio 2013中文语言包安装】
- C语言短除法求二进制数,C语言中实现十进制转二进制输出
- 小程序实现圆点边框 解决 dotted不兼容 小程序圆点边框兼容问题 如何在小程序实现兼容的圆点边框
- matlab中二维散点图,MATLAB实例:二维散点图
- Matlab 图像几何变换
- datagridview 显示红色叉_显示器促销日常数码店招首页装修PSD模板分层psd素材
- 读《万一针》老中医万方琴五十年针灸心得
- SAR成像处理软件运行环境配置(AGX平台)
- 优达学城机器学习之--支持向量机(SVM)