原文链接   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标志代码分析与使用相关推荐

  1. Selenium IDE使用指南四(代码导出)

    入门 您可以通过右键单击测试或套件,选择Export,选择目标语言,然后单击,将测试或套件的测试导出到WebDriver代码Export. 这会将包含导出的目标语言代码的文件保存到浏览器的下载目录中. ...

  2. selenium爬取网页部分HTML代码

    selenium爬取网页部分HTML代码 1.构造webdriver启动方法 2.保存完整HTML代码 3.保存部分HTML代码,及其他方法 其他方案1:BeautifulSoup 其他方案2:lxm ...

  3. 最没灵魂的爬虫——Selenium 游戏信息的爬取与分析

    最没有灵魂的爬虫--Selenium 游戏信息爬取与分析 准备工作 IDE选取 selenium安装 ChromeDriver安装与配置 还需要用到的其他python库 数据爬取 杉果游戏的数据获取 ...

  4. Linux内核汇编代码分析

    Linux内核汇编代码分析 1.vmlinux.lds.S文件分析 1.2 vmlinux.lds.S文件总体框架 1.3 代码段 1.4 只读数据段 1.5 init段 1.6 数据段 1.7 未初 ...

  5. 模块加载过程代码分析1

    一.概述 模块是作为ELF对象文件存放在文件系统中的,并通过执行insmod程序链接到内核中.对于每个模块,系统都要分配一个包含以下数据结构的内存区. 一个module对象,表示模块名的一个以null ...

  6. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 二 | 准备参数 | 远程调用 mmap 函数 )

    文章目录 一.准备 mmap 函数的参数 二.mmap 函数远程调用 一.准备 mmap 函数的参数 上一篇博客 [Android 逆向]Android 进程注入工具开发 ( 注入代码分析 | 远程调 ...

  7. ping的实现和代码分析

    ping的实现和代码分析 一.介绍      ping命令是用来查看网络上另一个主机系统的网络连接是否正常的一个工具.ping命令的工作原理是: 向网络上的另一个主机系统发送ICMP报文,如果指定系统 ...

  8. s3c6410 uboot代码分析《一》

    来源:http://hi.baidu.com/__eabi/blog/item/be67533797bc73f014cecb49.html 以下用以记录uboot代码的分析过程,目标是s3c6410, ...

  9. jquery.desktop.js 代码分析

    jquery.desktop.js是一个用来在网页上显示类似桌面效果的东东,下面分析其代码: // // Namespace - Module Pattern. // var JQD = (funct ...

  10. 【UAV】高度控制代码分析

    文章目录 代码分析 MotorControl() 控制流程图 代码分析 MotorControl() case PROCESS_31: {int16_t thr_temp;// 这里的定高标志在 Mo ...

最新文章

  1. PCL-1.8.1从源码搭建开发环境三(QHULL库的编译)
  2. python之路---装饰器函数
  3. 据说这是中途接手别人项目时的场景
  4. 将h.264视频流封装成flv格式文件
  5. 4高并发服务器:UDP局域网服务器(组播)
  6. 高一数学集合知识点整理_高一数学知识点总结
  7. RedEngine11
  8. js 加密url java_js 对 URL 参数进行 加密 解密
  9. 简单易懂——Dijkstra算法讲解
  10. python多级菜单_python练习题:多级菜单(dict练习)
  11. 一:Proficloud - EMMA能源管理+EMpro智能电表
  12. 【Visual Studio 2013中文语言包安装】
  13. C语言短除法求二进制数,C语言中实现十进制转二进制输出
  14. 小程序实现圆点边框 解决 dotted不兼容 小程序圆点边框兼容问题 如何在小程序实现兼容的圆点边框
  15. matlab中二维散点图,MATLAB实例:二维散点图
  16. Matlab 图像几何变换
  17. datagridview 显示红色叉_显示器促销日常数码店招首页装修PSD模板分层psd素材
  18. 读《万一针》老中医万方琴五十年针灸心得
  19. SAR成像处理软件运行环境配置(AGX平台)
  20. 优达学城机器学习之--支持向量机(SVM)

热门文章

  1. 2020年中国汽车后市场行业发展现状分析,汽车保有量不断提升,行业发展前景广阔「图」
  2. arkit 人脸捕捉_iPhone X上的ARKit人脸追踪
  3. 数字信号中的各种频率
  4. 短距离无线传输-WIFI
  5. 图片太大怎么缩小kb?图片压缩技巧
  6. 头条推荐量越来越少,是否还要坚持下去?
  7. 攻防世界逆向入门maze详解
  8. 幼儿-综合素质【8】
  9. [RK3566] 通过GM8775 点LVDS屏调试记录
  10. ps 条件动作添加 图层锁定和解锁