selenium 自动化web测试

简介: 1.简介 用java抓取网页内容有很多种方法。 a)使用HttpClient发送请求,然后解析网页或json。 b)使用jsoup,来帮我们发请求,方便地像jquery那样抠取标签 c)使用selenium,通过浏览器加载页面。 1.1 selenium的优势 有些内容是通过ajax获取并通过js填充到dom中的,所以离开浏览器拿不到内容。 有些网站为防爬虫,用js做了特殊的

1.简介

用java抓取网页内容有很多种方法。

a)使用HttpClient发送请求,然后解析网页或json。

b)使用jsoup,来帮我们发请求,方便地像jquery那样抠取标签

c)使用selenium,通过浏览器加载页面。

1.1 selenium的优势

有些内容是通过ajax获取并通过js填充到dom中的,所以离开浏览器拿不到内容。

有些网站为防爬虫,用js做了特殊的运算与校验,然后服务端才会给正确的数据,所以离开浏览器拿不到正确的内容。

1.2 selenium的劣势

启动浏览器会消耗较大的系统资源,效率不会太高。

2.使用方法

以windows7+chrome+java 平台作说明。
首先安装chrome浏览器。
然后写java。
依赖见下:
<dependency>
	<groupId>org.seleniumhq.selenium</groupId>
	<artifactId>selenium-java</artifactId>
	<version>2.42.2</version>
</dependency>
<dependency>
	<groupId>org.seleniumhq.selenium</groupId>
	<artifactId>selenium-chrome-driver</artifactId>
	<version>2.42.2</version>
</dependency>

3.常用类与方法

org.openqa.selenium.chrome. ChromeDriver
此类负责启动chrome浏览器.
void org.openqa.selenium.WebDriver. get(String url)
打开一个网站.
WebElement org.openqa.selenium.WebDriver. findElement(By by)
查找element.
List<WebElement> org.openqa.selenium.WebDriver. findElements(By by)
查找符合条件的多个element.

org.openqa.selenium. By
抽象类,它的一些静态方法用于定位element.
By org.openqa.selenium.By. name(String name)
根据标签的name属性寻找.
By org.openqa.selenium.By. tagName(String name)
根据标签名寻找.
By org.openqa.selenium.By. id(String id)
根据标签的id属性寻找.
By org.openqa.selenium.By. className(String className)
根据标签的class属性寻找.


org.openqa.selenium. WebElement
接口。对应于dom中的标签.
String org.openqa.selenium.WebElement. getText()
获取标签及子标签的文本内容.
String org.openqa.selenium.WebElement. click()
触发指定元素的单击事件。

4.示例代码及工程

代码:
图4-1 根据name属性让selenium定位标签



目录
相关文章
|
1月前
|
前端开发 测试技术 API
测试金字塔:别再只盯着UI自动化了
测试金字塔:别再只盯着UI自动化了
290 116
|
1月前
|
敏捷开发 测试技术 API
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
233 116
|
1月前
|
设计模式 前端开发 测试技术
告别脆弱:构建稳定UI自动化测试的3个核心策略
告别脆弱:构建稳定UI自动化测试的3个核心策略
291 113
|
1月前
|
人工智能 自然语言处理 测试技术
从人工到AI驱动:天猫测试全流程自动化变革实践
天猫技术质量团队探索AI在测试全流程的落地应用,覆盖需求解析、用例生成、数据构造、执行验证等核心环节。通过AI+自然语言驱动,实现测试自动化、可溯化与可管理化,在用例生成、数据构造和执行校验中显著提效,推动测试体系从人工迈向AI全流程自动化,提升效率40%以上,用例覆盖超70%,并构建行业级知识资产沉淀平台。
从人工到AI驱动:天猫测试全流程自动化变革实践
|
1月前
|
人工智能 自然语言处理 JavaScript
利用MCP Server革新软件测试:更智能、更高效的自动化
MCP Server革新软件测试:通过标准化协议让AI实时感知页面结构,实现自然语言驱动、自适应维护的自动化测试,大幅提升效率,降低脚本开发与维护成本,推动测试左移与持续测试落地。
|
1月前
|
测试技术 API 数据库
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
255 114
|
2月前
|
存储 关系型数据库 测试技术
玩转n8n测试自动化:核心节点详解与测试实战指南
n8n中节点是自动化测试的核心,涵盖触发器、数据操作、逻辑控制和工具节点。通过组合节点,测试工程师可构建高效、智能的测试流程,提升测试自动化能力。
|
3月前
|
存储 人工智能 算法
AI测试平台实战:深入解析自动化评分和多模型对比评测
在AI技术迅猛发展的今天,测试工程师面临着如何高效评估大模型性能的全新挑战。本文将深入探讨AI测试平台中自动化评分与多模型对比评测的关键技术与实践方法,为测试工程师提供可落地的解决方案。
|
2月前
|
机器学习/深度学习 人工智能 测试技术
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
EdgeMark是一个面向嵌入式AI的自动化部署与基准测试系统,支持TensorFlow Lite Micro、Edge Impulse等主流工具,通过模块化架构实现模型生成、优化、转换与部署全流程自动化,并提供跨平台性能对比,助力开发者在资源受限设备上高效选择与部署AI模型。
350 9
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读

热门文章

最新文章