Java Selenium WebDriver 网页填报

这篇具有很好参考价值的文章主要介绍了Java Selenium WebDriver 网页填报。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、windows环境安装配置

1.安装chrome浏览器

在“关于chrome”界面,查看浏览器版本号

2.下载chromeDriver

在https://registry.npmmirror.com/binary.html?path=chromedriver/下载对应版本的驱动(如果浏览器版本过新,建议下载最接近的版本)。

将下载好的压缩包解压缩,记住chromedriver.exe文件的路径(路径中不要包含中文),例如:F:\develop\chromedriver_win32\chromedriver.exe

二、linux环境安装配置

1.安装JDK

过程略。

2.安装chrome浏览器
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

yum install -y lsb

yum localinstall google-chrome-stable_current_x86_64.rpm

如果出现下图,说明缺少依赖,安装依赖前建议先配置yum源

Java Selenium WebDriver 网页填报,Java,WEB,java,selenium,开发语言

配置yum的163repo源:

下载repo文件

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

清除原有yum缓存

yum makecache
yum clean all

安装依赖:

yum install liberation-fonts
yum install libvulkan.so.1

再次安装chrome:

yum localinstall google-chrome-stable_current_x86_64.rpm

#查看版本
google-chrome --version
Java Selenium WebDriver 网页填报,Java,WEB,java,selenium,开发语言

3.下载chromeDriver,最新版本的驱动可在https://googlechromelabs.github.io/chrome-for-testing/#stable查看网址

wget https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip

注意版本号,是否在https://registry.npmmirror.com/binary.html?path=chromedriver/中存在,才能下载到对应的driver(如果浏览器版本过新,建议下载最接近的版本)。

unzip chromedriver_linux64.zip
mv chromedriver /usr/local/bin
chromedriver --version

Java Selenium WebDriver 网页填报,Java,WEB,java,selenium,开发语言

记住chromedrive文件的路径(路径中不要包含中文),这里的路径为:/usr/local/bin/chromedriver

三、开发过程

1.引入依赖
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>4.8.3</version>
</dependency>
2.具体代码
2.1 设置驱动
//linux环境驱动路径
//System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver");
//windows环境驱动路径
System.setProperty("webdriver.chrome.driver", "F://develop//chromedriver_win32//chromedriver.exe");
2.2 基本设置(包含针对反脚本的配置)
ChromeOptions chromeOptions = new ChromeOptions();
//设置为 headless 模式 (必须)
chromeOptions.addArguments("--headless");
chromeOptions.addArguments("--disable-gpu");//谷歌文档提到需要加上这个属性来规避bug
chromeOptions.addArguments("--no-sandbox");// “–no - sandbox”参数是让Chrome在root权限下跑
chromeOptions.addArguments("--disable-dev-shm-usage");
chromeOptions.addArguments("lang=zh_CN.UTF-8");
chromeOptions.addArguments("window-size=1920x1080"); //指定浏览器分辨率
chromeOptions.addArguments("--remote-allow-origins=*");
2.3 针对反脚本的处理
//防止被浏览器识别为脚本
chromeOptions.addArguments("--disable-blink-features=AutomationControlled");
chromeOptions.addArguments("'user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36'");
List excludeSwitches=new ArrayList<String>();
excludeSwitches.add("enable-automation");
chromeOptions.setExperimentalOption("excludeSwitches",excludeSwitches);
chromeOptions.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
chromeOptions.setExperimentalOption("useAutomationExtension", false);
2.4 创建浏览器对象
// 创建ChromeDriver对象,其启用之前定义好的配置chromeOptions
WebDriver driver = new ChromeDriver(chromeOptions);
// 访问指定网址
driver.get("https://www.xxxx.com");
2.5 元素选择方式
//单个元素用findElement,多个元素用findElements

//1.根据ID选择元素
WebElement input1= driver.findElement(By.id("input1"));
//2.根据Class选择器
driver.findElements(By.cssSelector(".layui-layer-content select")).get(2);

//其余不再赘述
2.6 Input输入框处理
driver.findElement(By.id("input1")).sendKeys("姓名");
2.7 radio单选处理
//方式1.可直接选择到元素执行click()
//driver.findElement(By.id("选项n")).click();

//方式2.遍历选项文本,文本匹配再选择
List<WebElement> radioList=driver.findElements(By.cssSelector("#div2 .label"));
for (int i=0;i<radioList.size();i++){
    String radioValue=radioList.get(i).getText();
    if(radioValue.equals("其他")){
        radioList.get(i).click();break;
    }
}
2.8 select下拉框处理
Select select4 = new Select(driver.findElements(By.cssSelector(".layui-layer-content select")).get(3));
//根据选项文本做选中处理
select4.selectByVisibleText("第2个选项");
2.9 文件上传处理
driver.findElement(By.id("imginput")).sendKeys("D://workspace//xxxxx//uploadfiles//1674022445180.jpg");
2.10 关闭浏览器
//获取当前网址
driver.getCurrentUrl();
//关闭浏览器
driver.quit();
2.11 其他注意事项

增加延迟:网页检测填报过快可能会被限制,部分操作可能涉及弹框或页面加载,等待页面元素加载好之后再进行操作。文章来源地址https://www.toymoban.com/news/detail-632903.html

到了这里,关于Java Selenium WebDriver 网页填报的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Selenium + Chrome WebDriver + JS:实现高级爬虫技巧,获取网页响应状态码!

    随着爬虫技术的发展,我们使用requests库能够轻松获取响应状态码,但对于Selenium爬虫,同样可以迎刃而解。通过执行JavaScript脚本,我们可以智能地捕获网页的响应状态码,实现高级的爬虫功能。 在开始之前,确保你已正确安装Selenium和Chrome WebDriver,并配置好环境变量。 以下

    2024年02月07日
    浏览(56)
  • 模拟动态加载网页数据Selenium,Puppeteer,WebDriver,Requests-HTML

    模拟动态加载网页数据,你可以使用以下工具: Selenium:Selenium是一个用于Web应用程序测试的工具,它可以模拟用户在浏览器上的操作,包括点击、滚动、填写表单等。因此,它也可以用于爬取那些动态加载内容的网页。Selenium支持多种浏览器,并且提供了多种编程语言的接口

    2024年04月25日
    浏览(46)
  • Linux CentOS7安装chrome和chromedriver(WebDriver),用于selenium爬虫(java代码演示)

    序号 产品 版本 备注 1 CentOS 7.9 2 chrome 99.0.4844.51 chrome 与 ChromeDriver 的版本必须一致 3 ChromeDriver 99.0.4844.51 chrome 与 ChromeDriver 的版本必须一致 4 selenium 4.12.1 4 JAVA 8 1.1.1. chrome 下载 点击 chrome历史版本下载,按步骤下载 从下载的压缩包解压出rpm,上传 CentOS 系统 1.1.2. chrome 安装 安

    2024年02月20日
    浏览(43)
  • java Selenium 实现简单的网页操作

    官方文档 :入门指南 | Selenium  Selenium是一个用于Web应用测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。 所以使用这个前端测试话工具,可以自动化做很多事情,比如自动化抓取网页内容,俗称网络爬虫,其实搜索引擎本身就是一种网络爬虫技术

    2024年02月14日
    浏览(39)
  • Java学习笔记:爬虫-操作动态网页的Selenium

    Why Selenium? 有些网页内容是在浏览器端动态生成的,直接Http获取网页源码是得不到那些元素的。 Selenium可以自动启动一个浏览器、打开网页,可以用程序操作页面元素,也可以获得浏览器当前页面动态加载的页面元素。 比如:百度图片的图片是动态加载的。 用法: 1、下载安

    2024年02月13日
    浏览(44)
  • Selenium WebDriver 开发实战

    WebDriver提供的一系列对象定位方法,获取元素,实现测试用例。现在我们先来写一些调试代码,看看是否能成功驱动浏览器执行操作。 各行代码的作用分别如下: 之前已经安装了Selenium,第1行用于从Selenium库中导入webdriver模块。Selenium库中有common和webdriver两个模块,common模块

    2024年01月17日
    浏览(43)
  • Python+Selenium.webdriver实现WEB端UI自动化测试(实例脚本)

            本篇记录基于Python+Selenium.webdriver实现WEB端UI自动化测试,其中测试用例使用excel维护。为了在实际项目种的扩展应用,建议学习webdriver的元素定位方法,欢迎在评论区沟通讨论。 该示例选取的是登录页不需要输入验证码校验的基础页面(考虑到现在大部分项目都是

    2023年04月08日
    浏览(59)
  • 网络爬虫开发(五)01-爬虫高级——Selenium简介 & 根据平台选择安装selenium-webdriver包 & Selenium的基本使用

    网络爬虫开发(五)01-爬虫高级——Selenium简介 根据平台选择安装selenium-webdriver包 Selenium的基本使用 学习目标: 使用Selenium库爬取前端渲染的网页 反反爬虫技术 官方原文介绍: Selenium automates browsers . That’s it! What you do with that power is entirely up to you. Primarily, it is for automating web

    2024年01月24日
    浏览(38)
  • Java selenium使用出现The path to the driver executable must be set by the webdriver.edge.driver system

    2023年3月份Java selenium开始使用出现The path to the driver executable must be set by the webdriver.edge.driver system property; for more; 尝试更换chrome driver,以及根据网上的使用白名单来解决都不生效, 后续发现需要更新Java selenium的使用方式: 以Windows为例需要在之前配置上加上: 1、为driver设置

    2024年01月22日
    浏览(49)
  • Web自动化测试:selenium的使用以及关于driver=webdriver.Firefox()无驱动报错问题

    Selenium是一个用于Web应用程序测试的工具。 主流的自动化测试工具有: web自动化测试:selenium、robot framework App端自动化测试:Appium、Monkeyrunner、UIautomation PC客户端(win32)自动化测试:QTP 接口自动化测试:Jmeter、Postman、httpUnit、RESTClient 云测平台:Testin Testbird 性能测试:Jm

    2024年02月09日
    浏览(76)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包