什么是Selenium
Selenium 是一个用于自动化软件测试的工具。它允许测试人员编写脚本来自动化浏览器的操作,从而模拟用户在网站上的行为,如点击按钮、填写表单、滚动页面等。Selenium 主要用于以下方面:
-
自动化测试:通过Selenium,可以自动化执行一系列测试用例,这有助于提高测试的效率和准确性。
-
跨平台支持:Selenium 支持多种操作系统(如Windows、Linux、Mac)和浏览器(如Chrome、Firefox、Safari、Internet Explorer)。
-
编程语言支持:Selenium 支持多种编程语言,如Java、C#、Python、Ruby、PHP等,使得测试人员可以根据自己的熟悉程度选择合适的语言。
-
开源免费:Selenium 是一个开源项目,这意味着它是免费的,并且任何人都可以查看、使用和修改其源代码。
-
易于集成:Selenium 可以与各种测试框架(如JUnit、TestNG)和持续集成工具(如Jenkins)集成。
Selenium 的主要用途包括:
-
Web 应用程序测试:测试Web应用程序的功能、性能、兼容性等。
-
回归测试:确保新代码或更改没有破坏现有功能。
-
端到端测试:测试整个应用程序的流程,从用户登录到退出。
总之,Selenium 是一个强大的自动化测试工具,对于提高软件质量、减少人工测试工作量非常有帮助。
官方文档:Selenium
Java使用Selenium快速入门
step:下载浏览器驱动
-
ChromeDriver:
-
官方下载地址:ChromeDriver
-
注意:请选择与你的Chrome浏览器版本相匹配的ChromeDriver版本。
-
-
GeckoDriver(用于Firefox):
-
官方下载地址:GeckoDriver
-
注意:GeckoDriver 通常与Firefox浏览器一起更新。
-
-
Internet Explorer Driver:
-
官方下载地址:Internet Explorer Driver
-
注意:由于微软不再支持IE11,Selenium 也可能在将来停止对IE11的支持。
-
-
EdgeDriver:
-
对于旧版Edge浏览器(基于Chromium):
-
官方下载地址:EdgeDriver
-
-
对于旧版Edge浏览器(基于EdgeHTML):
-
官方下载地址:EdgeDriver for EdgeHTML
-
-
示例
接下来示范使用Selenium来操作Edge浏览器(其他浏览器操作基本一致)
下载驱动
-
打开浏览器Edge设置找到关于确认Edge浏览器版本

-
到官方下载地址下载对应版本驱动
Microsoft Edge WebDriver | Microsoft Edge Developer
根据自己的操作系统下载对应的驱动包,我是win64位的下载x64

下载好后解压一下

-
开始编码
以下是用程序控制edge浏览器访问百度搜索selenium的示例
通过各种方式获取页面的dom,执行指定的操作,获取dom的语法可以参考selenium官方文档,或者丢给ai生成获取dom的代码。
package com.mi.shippercomparemaersk.job;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.edge.EdgeOptions;
public class Shell {
public void shell() {
System.setProperty("webdriver.edge.driver", "C:\\WebDrive\\msedgedriver.exe"); //配置驱动
// 1.创建webdriver驱动
EdgeOptions options = new EdgeOptions();
options.addArguments("--remote-allow-origins=*");
WebDriver driver = new EdgeDriver(options);
//2.设置访问url
String searchUrl = "https://www.baidu.com";
driver.get(searchUrl);
// 3.获取输入框,输入selenium 按id
driver.findElement(By.id("kw")).sendKeys("selenium");
// 3.获取输入框,输入selenium 按name
// driver.findElement(By.name("wd")).sendKeys("selenium");
// 3.获取输入框,输入selenium 按xpath
// driver.findElement(By.xpath("//*[@id='kw']")).sendKeys("selenium");
// 3.获取输入框,输入selenium 按css
// driver.findElement(By.cssSelector("#kw")).sendKeys("selenium");
// 3.获取输入框,输入selenium 按className
// driver.findElement(By.className("s_ipt")).sendKeys("selenium");
// 4.获取“百度一下”按钮,进行搜索
driver.findElement(By.id("su")).click();
// 5.退出浏览器
driver.quit();
}
}

983

被折叠的 条评论
为什么被折叠?



