- 基于Selenium实现浏览器的操作
- 下载浏览器驱动(以chrome为例)
http://chromedriver.storage.googleapis.com/index.htmlhttp://npm.taobao.org/mirrors/chromedriver/这里我选择通过webdrivermanager来实现浏览器驱动的下载,需要在项目引入相关的依赖:<dependency><groupId>io.Github.bonigarcia</groupId><artifactId>webdrivermanager</artifactId></dependency>- 引入其他依赖
<dependencies><!-- Selenium --><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>${selenium.version}</version></dependency><!-- 配置 --><dependency><groupId>org.aeonbits.owner</groupId><artifactId>owner</artifactId><version>${owner.version}</version></dependency><!-- testng --><dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>${testng.version}</version></dependency></dependencies>当时项目没有按照依赖的版本号下载其他的依赖,所以需要将其版本号也进行修改 。- 编写测试代码
// 基础测试类public abstract class BaseBrowser {@BeforeSuitepublic void beforeSuite() {// 定义系统属性System.setProperty("webdriver.http.factory", "jdk-http-client");}@BeforeMethod(alwaysRun = true)public void beforeMethod() {WebDriverManager.chromedriver().setup();ChromeOptions chromeOptions = new ChromeOptions();// ... 配置 ...WebDriver webDriver = new ChromeDriver(chromeOptions);// 缓存DriverManager.setDriver(webDriver);// 访问网站webDriver.get(commonConfig().url());}@AfterMethod(alwaysRun = true)public void afterMethod() {// 退出浏览器DriverManager.quit();}}public class BaiduTests extends BaseBrowser{@Testpublic void baidu() throws InterruptedException {BaiduPage baiduPage = new BaiduPage();baiduPage.enter("时间");baiduPage.search();BaiduResultPage resultPage = new BaiduResultPage();WebElement first = resultPage.getFirstResult();assertThat(first).isNotNull();System.out.println( first.getText() );TimeUnit.SECONDS.sleep(5);DriverManager.quit();}}以上代码主要实现:- 打开谷歌浏览器
- 输入https://www.baidu.com
- 输入关键字“时间”
- 点击搜索按钮
- 获取第一个搜索结果
- 等待5秒钟
- 退出浏览器
通过这个例子,可以看到基于selenium通过Java可以实现对浏览器的操作,我们只需要将各个操作进一步封装,定义成特定的业务场景,即可实现 基于浏览器的自动化处理五、RPA的发展趋势AI与RPA的深度融合:随着AI技术的不断发展,AI将在RPA中发挥越来越大的作用 。例如,AI可以用于识别复杂的图像和语音信息,使得RPA的应用场景进一步扩大 。云端化:随着云计算的普及,基于云的RPA解决方案将越来越受欢迎 。云端化的RPA能够实现数据共享、远程管理和实时监控 , 提高工作效率和灵活性 。定制化与可配置性:未来的RPA产品将更加注重用户体验 , 提供更加友好的用户界面和更加灵活的配置选项,使得非技术人员也能轻松实现业务流程的自动化
结束语我们通过对RPA简单的了解后,结合实例大概可以看出,RPA的核心即是通过预定义的规则和脚本来按照预定流程执行特定任务,比如想通过浏览器完成相关任务时,我们可以借助类似Selenium这种技术实现,如果要实现其他应用的自动化,同样需要依赖其对外的API,当然并不是所有应用程序都提供了类似可以操作的口径 。如UiPath、Blue Prism、Automation Anywhere等,它们可以实现自动化地操作Windows系统上的任意APP 。这些工具通常通过模拟用户在GUI界面上的操作 , 如点击、拖拽、输入等,来执行自动化流程 。
推荐阅读
- 假天珠是什么做的 假天珠有用吗
- qq置顶语句怎么设置 qq置顶语怎么设置
- 龙哥的星图汇:刘涛
- 杨洋,别来无恙
- 36集《仙剑六》空降鹅厂,全员颜值实力派,仙侠剧又有天花板
- 为什么胖起来容易,瘦下来却很难?
- PS该咋复制选区
- 直男的具体表现 直男的行为有哪些
- 冰箱如何除臭效果最好 冰箱如何除臭
- 姓江的历史名人有哪些简介 姓江的历史名人有哪些
