《手把手教你》系列基础篇之(三)-java+ selenium自动化测试- 启动三大浏览器(上)(详细教程)

简介: 【2月更文挑战第12天】《手把手教你》系列基础篇之(三)-java+ selenium自动化测试- 启动三大浏览器(上)(详细教程) 前边宏哥已经将环境搭建好了,今天就在Java项目搭建环境中简单地实践一下: 启动三大浏览器。按市场份额来说,全球前三大浏览器是:IE.Firefox.Chrome。因此宏哥这里主要介绍一下如何启动这三大浏览器即可,其他浏览器类似的方法,照猫画虎就可以了。

 1.简介

前边宏哥已经将环境搭建好了,今天就在Java项目搭建环境中简单地实践一下: 启动三大浏览器。按市场份额来说,全球前三大浏览器是:IE.Firefox.Chrome。因此宏哥这里主要介绍一下如何启动这三大浏览器即可,其他浏览器类似的方法,照猫画虎就可以了。

2.启动浏览器准备工作

2.1准备工作

创建一个Selenium的Java项目,用来练习,具体步骤如下:

1.打开Eclipse,创建一个名称为Bjhg_Selenium的Java 项目,如下图所示:

image.gif 编辑

2.在Bjhg_Selenium项目下,新建一个文件夹Tools,把Selenium相关包放到这个文件夹下,如下图所示:

image.gif 编辑

3.右键项目,选择Build Path,然后选择Confige Build Path...,弹出框点击Libraries,如下图所示:

image.gif 编辑

4.这里点击Add JARs...,弹出框,选择当前项目下tools这个文件夹里面的selenium-server-standalone-3.4.0.jar,点击OK,效果如下图所示:

image.gif 编辑

准备工作就介绍到这里,下边介绍如何启动三大浏览器。

3.启动Chrome浏览器

3.1chrome和chromedriver版本下载地址及对应关系

【国外】chromedriver所有版本下载地址:http://chromedriver.storage.googleapis.com/index.html

【国内】chromedriver所有版本下载地址:https://npm.taobao.org/mirrors/chromedriver

【国内】chrome所有版本下载地址:Google Chrome 64bit Windows版_chrome浏览器,chrome插件,谷歌浏览器下载,谈笑有鸿儒

【国外】浏览器版本和驱动版本对应关系查看网址:ChromeDriver - WebDriver for Chrome - Downloads

注意:一个大的chromedriver版本里面可能包含的有多个小版本,如果下载的Chromedriver版本和当前使用的chrome浏览器版本不匹配则可以换其他的试试。比如:chromedriver  79版里面有v79.0.3945.16    v79.0.3945.36

3.2驱动Chrome

1.在lessons包下创建类LaunchChrome.java,如下图所示:

image.gif 编辑

2.大致思路:打开Chrome浏览器,访问百度网址,获取网址的title,然后再关闭Chrome浏览器。根据思路进行代码设计,如下图所示:

image.gif 编辑

3.3参考代码,如下:

package lessons;
import java.util.concurrent.TimeUnit;  
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
/**
 * @author 北京-宏哥
 * 公众号: 北京宏哥
 * 2021年6月17日
 */
public class LaunchChrome {
    
    public static void main(String[] args) {  
        
        System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");  
          
        //初始化一个chrome浏览器实例,实例名称叫driver  
        WebDriver driver = new ChromeDriver();  
        //最大化窗口  
        driver.manage().window().maximize();  
        //设置隐性等待时间  
        driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS);  
          
        // get()打开一个站点  
        driver.get("https://www.baidu.com");  
        //getTitle()获取当前页面title的值  
        System.out.println("当前打开页面的标题是: "+ driver.getTitle());  
          
        //关闭并退出浏览器  
        driver.quit();  
          
    }  
}

image.gif

4.电脑端的浏览器,如下小视频所示:

5.运行代码,右键Run AS->java Application,控制台输出,如下图所示:

image.gif 编辑

4.启动Firefox浏览器

4.1Firefox和驱动下载地址

selenium2.X最高支持的Firefox版本为46,使用selenium2.X的话不需要下载火狐驱动,只需要配置火狐的启动路径即可。

Selenium3.0开始需下载geckodriver,想使用geckodriver ,Firefox浏览器必须是48或者更高版本。具体的浏览器和浏览器驱动之间的对应关系可在geckodriver下载网站中的版本说明中查看。

所有火狐浏览器版本下载地址:Directory Listing: /pub/firefox/releases/

所有火狐驱动geckodriver版本下载地址:Releases · mozilla/geckodriver · GitHub

4.2驱动Firefox

具体过程和Chrome的差不多,宏哥就不做赘述,将代码贴出来以供参考。

1.参考代码,如下:

package lessons;
import java.util.concurrent.TimeUnit;  
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
/**
 * @author 北京-宏哥
 *  公众号: 北京宏哥
 * 2021年6月17日
 */
public class LuanchFirefox {
     
    public static void main(String[] args) {
        
        //System.setProperty("webdriver.firefox.marionette", ".\\Tools\\geckodriver.exe");
        
        System.setProperty("webdriver.gecko.driver", ".\\Tools\\geckodriver.exe");
        
        //初始化一个火狐浏览器实例,实例名称叫driver
        WebDriver driver = new FirefoxDriver();
        //最大化窗口
        driver.manage().window().maximize();
        //设置隐性等待时间
        driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS);
        
        // get()打开一个站点
        driver.get("https://www.baidu.com");
        //getTitle()获取当前页面title的值
        System.out.println("当前打开页面的标题是: "+ driver.getTitle());
        
        //关闭并退出浏览器
        driver.quit();
        
    }
 
}

image.gif

5.启动IE浏览器

5.1IE浏览器驱动下载地址

本人使用的IE和IEDriverServer:

IE浏览器版本:11   IEDriverServer版本:Win32_3.0.0

IE浏览器所有驱动版本下载地址:http://selenium-release.storage.googleapis.com/index.html

5.2驱动IE

具体过程和Chrome的差不多,宏哥就不做赘述,将代码贴出来以供参考。

1.参考代码,如下:

package lessons;
import java.util.concurrent.TimeUnit;  
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
/**
 * @author 北京-宏哥
 *  公众号: 北京宏哥
 * 2021年6月17日
 */
public class LaunchIE {  
      
    public static void main(String[] args) {  
          
        System.setProperty("webdriver.ie.driver", ".\\Tools\\IEDriverServer.exe");  
          
        //初始化一个IE浏览器实例,实例名称叫driver  
        WebDriver driver = new  InternetExplorerDriver(); 
        //最大化窗口  
        driver.manage().window().maximize();  
        //设置隐性等待时间  
        driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS);  
          
        // get()打开一个站点  
        driver.get("https://www.baidu.com");  
        //getTitle()获取当前页面title的值  
        System.out.println("当前打开页面的标题是: "+ driver.getTitle());  
          
        //关闭并退出浏览器  
        driver.quit();  
          
    }  
  
}

image.gif

6.小结

宏哥因为之前做过python和selenium,所以没有出现浏览器版本和驱动版本匹配的问题,新手一定要注意这个问题。

好了,今天关于三大浏览器的驱动宏哥就分享到这里,感谢你耐心的阅读。

  每天学习一点,今后必成大神-

往期推荐(由于跳转参数丢失了,所有建议选中要访问的右键,在新标签页中打开链接即可访问):

Appium自动化系列,耗时80天打造的从搭建环境到实际应用精品教程测试

Python接口自动化测试教程,熬夜87天整理出这一份上万字的超全学习指南

Python+Selenium自动化系列,通宵700天从无到有搭建一个自动化测试框架

Java+Selenium自动化系列,仿照Python趁热打铁呕心沥血317天搭建价值好几K的自动化测试框架

Jmeter工具从基础->进阶->高级,费时2年多整理出这一份全网超详细的入门到精通教程

Fiddler工具从基础->进阶->高级,费时100多天吐血整理出这一份全网超详细的入门到精通教程

Pycharm工具基础使用教程

相关文章
|
8天前
|
Web App开发 人工智能 自然语言处理
Playwright MCP浏览器自动化指南
本文教你如何通过Playwright MCP让AI直接操作浏览器,自动运行和调试代码,无需手动切换界面。只需简单配置,即可用自然语言指挥AI完成页面操作、问题排查与自主修复,真正实现自动化高效开发。
|
4月前
|
数据采集 前端开发 JavaScript
深挖navigator.webdriver浏览器自动化检测的底层分析
本文详细讲解了如何通过技术手段破解浏览器 `navigator.webdriver` 检测,结合爬虫代理、多线程等策略,在豆瓣图书页面批量采集数据。具体包括:隐藏 Selenium 特征、配置代理突破 IP 限制、设置伪装用户、利用多线程提升效率。文章面向初学者,提供分步教程与示例代码,同时设有「陷阱警告」帮助规避常见问题。目标是从底层实现反检测,高效采集图书评分、简介、作者等信息,适合具备 Python 和 Selenium 基础的读者实践学习。
169 12
深挖navigator.webdriver浏览器自动化检测的底层分析
|
Web App开发 数据采集 存储
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
本文探讨了如何利用Chrome DevTools Protocol (CDP) 与 Selenium WebDriver 提升浏览器自动化效率,结合代理IP技术高效采集微博数据。通过CDP,开发者可直接操作浏览器底层功能,如网络拦截、性能分析等,增强控制精度。示例代码展示了如何设置代理IP、cookie及user-agent来模拟真实用户行为,提高数据抓取成功率与稳定性。适用于需要频繁抓取互联网数据的应用场景。
1122 3
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
|
5月前
|
数据采集 JavaScript 前端开发
浏览器自动化检测对抗:修改navigator.webdriver属性的底层实现
本文介绍了如何构建一个反检测爬虫以爬取Amazon商品信息。通过使用`undetected-chromedriver`规避自动化检测,修改`navigator.webdriver`属性隐藏痕迹,并结合代理、Cookie和User-Agent技术,实现稳定的数据采集。代码包含浏览器配置、无痕设置、关键词搜索及数据提取等功能,同时提供常见问题解决方法,助你高效应对反爬策略。
459 1
|
8月前
|
Web App开发 人工智能 JSON
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
AutoMouser是一款Chrome扩展程序,能够实时跟踪用户交互行为,并基于OpenAI的GPT模型自动生成Selenium测试代码,简化自动化测试流程。
525 17
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
|
8月前
|
Web App开发 数据采集 JavaScript
Chrome浏览器实例的TypeScript自动化脚本
Chrome浏览器实例的TypeScript自动化脚本
|
数据采集 Web App开发 测试技术
使用Selenium与WebDriver实现跨浏览器自动化数据抓取
在网络爬虫领域,Selenium与WebDriver是实现跨浏览器自动化数据抓取的利器。本文详细介绍了如何利用Selenium和WebDriver结合代理IP技术提升数据抓取的稳定性和效率。通过设置user-agent和cookie来模拟真实用户行为,避免被网站检测和阻止。文章提供了具体的代码示例,展示了如何配置代理IP、设置user-agent和cookie,并实现了跨浏览器的数据抓取。合理的参数配置能有效减少爬虫被封禁的风险,提高数据抓取效率。
1148 6
使用Selenium与WebDriver实现跨浏览器自动化数据抓取
|
11月前
|
数据采集 Web App开发 数据可视化
Python爬虫教程:Selenium可视化爬虫的快速入门
Python爬虫教程:Selenium可视化爬虫的快速入门
|
11月前
|
Web App开发 缓存 Linux
高效Selenium测试技巧:轻松控制已开启的浏览器
【10月更文挑战第13天】在进行Selenium测试时,通常会启动新浏览器实例,但有时需要控制已开启的浏览器,以节省时间并更真实地模拟用户行为。这可通过设置Chrome为可远程控制并使用`Remote WebDriver`连接实现。需在启动Chrome时添加`--remote-debugging-port`参数,并通过Python脚本中的`webdriver.Remote`连接至指定端口。此外,还可利用会话ID(Session ID)重新连接浏览器,提高测试灵活性。需要注意浏览器版本兼容性及元素定位稳定性等问题,确保测试准确性和一致性。
909 1
|
12月前
|
安全 Oracle Java
edge浏览器加载java插件
edge浏览器加载java插件
700 1