三天精通Selenium Web 自动化 - Selenium(Java)环境搭建 (new)

0 背景

  • 开发工具idea
  • 代码管理maven
  • jdk1.8
  • webdriver chrome

1 chromedriver & chrome

chromedriver和chrome要对应上:

  • chomedriver下载地址:淘宝镜像 这里用的是 chromedriver88-0-4324-96.zip
  • chrome下载地址:如何降级和安装旧版本的Chrome? 这里用的是 ChromeStandaloneSetup_88.0.4324.150.exe

2 jar包 & 代码

pom.xml

 View Code

code

复制代码

import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import java.time.Duration;
import java.util.Iterator;
import java.util.Set;public class SearchBaidu {public static void main(String[] args) throws InterruptedException {String chromedriver_win="D:\\Code\\seleniumDemo\\src\\main\\resources\\chromedriver.exe";System.setProperty("webdriver.chrome.driver", chromedriver_win);WebDriver webDriver=  new ChromeDriver();MutiWindowTest(webDriver);Thread.sleep(2000);webDriver.get("https://www.baidu.com");webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));Dimension d =new Dimension(800,600);webDriver.manage().window().setSize(d);Thread.sleep(2000);Point p=new Point(500,300);webDriver.manage().window().setPosition(p);Thread.sleep(2000);webDriver.manage().window().fullscreen();Thread.sleep(3000);webDriver.manage().window().maximize();WebElement searchInput=webDriver.findElement(By.id("kw"));//定位到文本,将文本高亮显示//创建一个JavascriptExecutor对象JavascriptExecutor js =(JavascriptExecutor)webDriver;//新闻文本高亮显示颜色js.executeScript ( "arguments[0].setAttribute('style', arguments[1]);",searchInput,"background: orange; border: 2px solid red;");Thread.sleep (5000);searchInput.sendKeys("selenium1 selenium2 区别");
//        WebElement searchBtn=webDriver.findElement(By.id("su"));WebElement searchBtn  = webDriver.findElement(By.cssSelector("input[value=百度一下]"));searchBtn.click();Thread.sleep(2000);webDriver.quit();}private static void MutiWindowTest(WebDriver driver)throws InterruptedException {WebDriver newWindow = null ;driver.get("http://www.hao123.com/");//浏览器最大化driver.manage().window().maximize();//获取当前页面句柄String current_handles = driver.getWindowHandle();//点击 百度链接driver.findElement(By.xpath("//*[@data-title='百度' and contains(@class,'sitelink')]")).click();//接下来会有新的窗口打开,获取所有窗口句柄Set<String> all_handles = driver.getWindowHandles();//循环判断,把当前句柄从所有句柄中移除,剩下的就是你想要的新窗口Iterator<String> it = all_handles.iterator();while(it.hasNext()){if(current_handles == it.next()) continue;//跳入新窗口,并获得新窗口的driver - newWindownewWindow = driver.switchTo().window(it.next());}//接下来在新页面进行操作,也就是百度首页,我们输入一个java关键字进行搜索Thread.sleep(1000);WebElement baidu_keyowrd = newWindow.findElement(By.id("kw"));baidu_keyowrd.sendKeys("java");WebElement searchBtn=newWindow.findElement(By.id("su"));searchBtn.click();Thread.sleep(3000);//关闭当前窗口,主要使用close而不是quite,newWindow.close();Thread.sleep(1000);driver.switchTo().window(current_handles);System.out.println(driver.getCurrentUrl());}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/217066.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录刷题题Day11

刷题的第十一天&#xff0c;希望自己能够不断坚持下去&#xff0c;迎来蜕变。&#x1f600;&#x1f600;&#x1f600; 刷题语言&#xff1a;C / Python Day11 任务 ● 理论基础 ● 递归遍历 ● 迭代遍历 ● 统一迭代 1 二叉树理论基础 1.1 二叉树的种类 &#xff08;1&…

js基础:简介、变量与数据类型、流程循环控制语句、数组及其api

JS基础&#xff1a;简介、变量与数据类型、流程循环控制语句、数组及其api 一、简介 1、js概述 tip&#xff1a;JavaScript是什么&#xff1f; 有什么作用&#xff1f; JavaScript&#xff08;简称JS&#xff09;是一种轻量级的、解释性的编程语言&#xff0c;主要用于在网页…

React系列:实现子组件A->父组件-子组件B变量流传

🍁 作者:知识浅谈,CSDN博客专家,阿里云签约博主,InfoQ签约博主,华为云云享专家,51CTO明日之星 📌 擅长领域:全栈工程师、爬虫、ACM算法 💒 公众号:知识浅谈 🔥网站:vip.zsqt.cc React系列总结 🎈useState的使用 创建响应式变量的时候,在react是需要使用u…

手机网站支付有风险吗?

这是一个在当今数字化时代中&#xff0c;消费者们常常会提出的问题。随着科技的发展和移动设备的普及&#xff0c;越来越多的商家开始接受在线支付&#xff0c;这无疑为消费者提供了极大的便利。然而&#xff0c;与此同时&#xff0c;也伴随着一些潜在的风险。本文将探讨手机网…

0012Java程序设计-ssm医院预约挂号及排队叫号系统

文章目录 **摘** **要**目 录系统实现5.2后端功能模块5.2.1管理员功能模块5.2.2医生功能模块 开发环境 摘 要 网络的广泛应用给生活带来了十分的便利。所以把医院预约挂号及排队叫号管理与现在网络相结合&#xff0c;利用java技术建设医院预约挂号及排队叫号系统&#xff0c;实…

Nginx安装【保姆级别】

目录 1.Nginx开源版本安装&#x1f495;&#x1f495;&#x1f495; 2.传到linux&#x1f495;&#x1f495;&#x1f495; 3.在linux上安装 &#x1f495;&#x1f495;&#x1f495; 4.启动Nginx &#x1f495;&#x1f495;&#x1f495; 5.安装成系统服务 &#x1f495…

Dockerfile创建镜像INMP+wordpress

Dockerfile创建镜像INMPwordpress 需要哪些呢&#xff1a; Nginx 172.111.0.10 docker-nginx Mysql 172.111.0.20 docker-mysql PHP 172.111.0.30 docker-PHP 开始实验&#xff1a; 创建各级目录&#xff0c;他们各自的包和配置文件必须要在同一目录下才可以生效&…

Fiddler中AutoResponder的简单使用

AutoResponder&#xff0c;自动回复器&#xff0c;用于将 HTTP 请求重定向为指定的返回类型。 这个功能有点像是一个代理转发器&#xff0c;可以将某一请求的响应结果替换成指定的资源&#xff0c;可以是某个页面也可以是某个本地文件 1.使用 打开“Fiddler”&#xff0c;点击…

掌握iText:轻松处理PDF文档-高级篇-加密和解密

前言 iText作为一个功能强大、灵活且广泛应用的PDF处理工具&#xff0c;在实际项目中发挥着重要作用。通过这些文章&#xff0c;读者可以深入了解如何利用iText进行PDF的创建、编辑、加密和提取文本等操作&#xff0c;为日常开发工作提供了宝贵的参考和指导。 掌握iText&#…

【Vue】router.push用法实现路由跳转

目录 router.push用法 在Login.vue中 在Register.vue中 ​ 上一篇&#xff1a;登录与注册界面的制作 https://blog.csdn.net/m0_67930426/article/details/134895214?spm1001.2014.3001.5502 制作了登录与注册界面&#xff0c;并介绍了相关表单元素即属性的用法 在登录页面…

jQuery遍历与删除添加节点

个人名片&#xff1a; &#x1f60a;作者简介&#xff1a;一名大二在校生 &#x1f921; 个人主页&#xff1a;坠入暮云间x &#x1f43c;座右铭&#xff1a;懒惰受到的惩罚不仅仅是自己的失败&#xff0c;还有别人的成功。 &#x1f385;**学习目标: 坚持每一次的学习打卡 文章…

手拉手探索JSONCrack数据可视化

JSON Crack数据可视化工具 官网&#xff1a;https://jsoncrack.com/ 项目地址&#xff1a;https://github.com/AykutSarac/jsoncrack.com SON Crack 是一个很方便的 JSON 数据可视化工具。 该项目不是简单的展示 JSON 数据,而是将其转化为类似思维导图的形式,支持放大/缩小、展…

技术资讯:VSCode大更新,这两个功能终于有了

大家好&#xff0c;我是大澈&#xff01; 本文约1200字&#xff0c;整篇阅读大约需要2分钟。 感谢关注微信公众号&#xff1a;“程序员大澈”&#xff0c;然后免费加入问答群&#xff0c;从此让解决问题的你不再孤单&#xff01; 1. 资讯速览 就在前阵子&#xff0c;前端人都…

Java LeetCode篇-二叉树经典解法(实现:判断平衡二叉树、找两个节点最近的祖先等)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 平衡二叉树 1.1 实现判断平衡二叉树的思路 1.2 代码实现判断平衡二叉树 2.0 二叉树的层序遍历 2.1 实现二叉树层序遍历的思路 2.2 代码实现二叉树层序遍历 3.0 …

苹果app应用ipa文件程序开发后如何运行到苹果iOS真机上测试?

在苹果应用程序开发过程中&#xff0c;将app安装于真机进行测试是一个不可或缺的步骤&#xff0c;它可以帮助你检测app在实际设备上的性能表现及存在的潜在问题。这篇文章将详细阐述如何将开发好的苹果app&#xff08;.ipa文件&#xff09;安装到真机上进行测试。 图片来源&…

文心一言 VS 讯飞星火 VS chatgpt (155)-- 算法导论12.3 2题

二、用go语言&#xff0c;假设通过反复向一棵树中插人互不相同的关键字来构造一棵二叉搜索树。证明&#xff1a;在这棵树中查找关键字所检查过的结点数目等于先前插入这个关键字所检查的结点数目加 1。 文心一言&#xff1a; 为了证明这个结论&#xff0c;我们可以使用二叉搜…

VisualSVN Server的安装全过程

目录 背景: 安装过程&#xff1a; 步骤1&#xff1a; 步骤2&#xff1a; 步骤3&#xff1a; 步骤4&#xff1a; 步骤5&#xff1a; 安装出现的bug&#xff1a; 问题: 解决办法: 总结: 背景: VisualSVN Server 是一款免费的 SVN (Subversion) 服务器软件&#xff0c…

2创建工程及点灯

1:软件安装&#xff1a; 1关注公众号“纸飞资”&#xff0c;键盘输入keil“”,按照文章要求安装编译软件 2芯片安装&#xff1a; 方式一&#xff1a;离线安装。去Keil公司官网的器件支持包下载页面选择对应的公司及器件型号&#xff0c;然后在Device Family Pack文本框中点击…

Python异常、模块和包

Python异常、模块和包 1.了解异常2.异常的捕获方法3.异常的传递4.Python模块5.Python包 1.了解异常 1.1什么是异常 当检测到一个错误是&#xff0c;Python解释器就无法继续执行了&#xff0c;发而出现了一些错误提示&#xff0c;这就是所谓的“异常”&#xff0c;也就是我们常…

【开源软件】最好的开源软件-2023-第26名 Accelerate

自我介绍 做一个简单介绍&#xff0c;酒架年近48 &#xff0c;有20多年IT工作经历&#xff0c;目前在一家500强做企业架构&#xff0e;因为工作需要&#xff0c;另外也因为兴趣涉猎比较广&#xff0c;为了自己学习建立了三个博客&#xff0c;分别是【全球IT瞭望】&#xff0c;【…