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定位标签



目录
相关文章
|
3月前
|
Web App开发 存储 前端开发
Python+Selenium自动化爬取携程动态加载游记
Python+Selenium自动化爬取携程动态加载游记
|
17天前
|
安全 NoSQL Shell
web渗透-SSRF漏洞及discuz论坛网站测试
SSRF(服务器端请求伪造)是一种安全漏洞,攻击者可诱使服务端发起任意请求,进而探测或攻击内网系统。常用于端口扫描、访问内部服务、读取本地文件等。常见防御包括限制协议、域名和IP,但可通过302跳转、短地址等方式绕过。
109 1
web渗透-SSRF漏洞及discuz论坛网站测试
|
安全 JavaScript 前端开发
AppSpider 7.5.020 发布 - Web 应用程序安全测试
AppSpider 7.5.020 for Windows - Web 应用程序安全测试
17 0
|
5月前
|
人工智能 安全 网络安全
Burp Suite Professional 2025.5 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件
Burp Suite Professional 2025.5 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件
187 3
|
17天前
|
安全 Linux iOS开发
Burp Suite Professional 2025.9 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.9 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
161 0
Burp Suite Professional 2025.9 发布 - Web 应用安全、测试和扫描
|
3月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
349 0
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
5月前
|
人工智能 安全 网络安全
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件
236 4
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件
|
5月前
|
安全 Devops 测试技术
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
98 0
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
|
12月前
|
Web App开发 前端开发 JavaScript
探索Python科学计算的边界:利用Selenium进行Web应用性能测试与优化
【10月更文挑战第6天】随着互联网技术的发展,Web应用程序已经成为人们日常生活和工作中不可或缺的一部分。这些应用不仅需要提供丰富的功能,还必须具备良好的性能表现以保证用户体验。性能测试是确保Web应用能够快速响应用户请求并处理大量并发访问的关键步骤之一。本文将探讨如何使用Python结合Selenium来进行Web应用的性能测试,并通过实际代码示例展示如何识别瓶颈及优化应用。
472 5