首页 > 其他分享 >selenium系列:三(配置)

selenium系列:三(配置)

时间:2023-10-12 12:32:37浏览次数:29  
标签:系列 int 配置 selenium addArguments chromeDriver window PageLoadStrategy options

ChromeOptions

ChromeOptions options = new ChromeOptions();

setPageLoadStrategy 等待策略

options.setPageLoadStrategy(PageLoadStrategy.NORMAL);
PageLoadStrategy.NORMAL

正常情况下,selenium 会等待整个界面加载完成(指对html和子资源的下载与解析,入JS文件,图片等,不包含ajax)

PageLoadStrategy.EAGER

要等待整个dom树加载完成,即DOMContentLoaded 这个事件完成,仅对html的内容进行下载解析

PageLoadStrategy.NONE

当html下载完成之后,不等待解析完成,selenium 会直接返回

setExperimentalOption 设置实验选项

// 取消 chrome 正受到自动测试软件的控制的信息栏
options.setExperimentalOption("excludeSwitches", new String[]{"enable-automation"});
// 禁止图片加载
options.setExperimentalOption("prefs", Collections.singletonMap("profile.managed_default_content_settings.images", 2));

**注意:**这里的value 必须是可以转换为json的数据

这里还未找到对应的文档

addArguments 添加启动参数

模拟移动设备
// 通过设置user-agent,用来模拟移动设备
// 比如模拟 android QQ浏览器
options.addArguments("user-agent='MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'");

// 模拟iPhone 6
options.addArguments("user-agent='Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1'");
其他配置
// 谷歌无窗口模式
options.addArguments("--headless");

addExtensions(), addEncodedExtensions() 添加扩展应用

后续使用到哪些参数,在这里在添加

ChromeDriver

ChromeDriver chromeDriver = new ChromeDriver();
chromeDriver.get("http://www.baidu.com");
chromeDriver.manage().window().maximize();
chromeDriver.manage().window().fullscreen();
// 获取当前地址
chromeDriver.getCurrentUrl();
// 获取当前title
chromeDriver.getTitle();
// 获取源码
chromeDriver.getPageSource();
// 获取网页内容
chromeDriver.findElement(By.id("password"));
WebDriver.Window window = chromeDriver.manage().window();
int x = window.getPosition().getX();
int y = window.getPosition().getY();
int height = window.getSize().getHeight();
int width = window.getSize().getWidth();

System.out.println("x = " + x + ", y = " + y + ", height = " + height + ", width = " + width);

标签:系列,int,配置,selenium,addArguments,chromeDriver,window,PageLoadStrategy,options
From: https://blog.51cto.com/u_16268898/7825912

相关文章

  • 自己配置ES
    蛮多年前,我就想自己配置ES,种种原因,就一直没弄,上个月抽空,自己在虚机上配置了一个节点的ES下面只是辅助我自己,用于记录过程,暂时不能做为网友的参考。(1)首先感谢ElasticSearch(一):介绍、安装、文档分词_Men-DD的博客-CSDN博客.mhtmlhttps://menxu.blog.csdn.net/article/details/1259......
  • 华为OBS使用心得及配置OBS数据禁止下载
    近期参与了一个跟华为数据交换的项目,简单聊聊华为的数据交换方案及使用心得。先简单说一下背景:数据交换旨在建立企业互信,消除数据孤岛。行业数据都是各企业花费了大量精力整理得到的,一时间公开完全不可行。但是LLM的发展,基础模型需要越来越多的数据,这在倒逼企业合作,加之......
  • selenium所有检测点和绕过方式[运行命令后被检测/打开就被检测/环境检测]
    网上说的基本不全,最近有个新加密(F5shape)是控制流加密,解起来比较繁琐,就直接用selenium了,我看到有环境监测,但是没想到有检测selenium…一开始用nodejs写的,但是用nodejs写面向过程的代码真的很难受,又改为python了JSVMPjs加密打开这个网站就能看到部分检测点https://bo......
  • 【WCH蓝牙系列芯片】-基于CH582开发板—从机主动使能通知(notify)
    -------------------------------------------------------------------------------------------------------------------------------------在EVT例程BLE-UART蓝牙透传功能中,通过串口发送数据至蓝牙时,每次需要开启notify,才能接受新的数据。当串口向蓝牙发送数据后,再打开notif......
  • 前端请求代理配置
    前端请求代理配置,解决跨域问题,适用于React、Vue项目优点:可以配置多个代理,可以灵活控制请求是否走代理。缺点:配置繁琐,前端请求资源时必须带上前缀。第一步安装yarnaddhttp-proxy-middleware--save第二步新建文件在项目的src目录下新建文件setupProxy.js,脚手架会......
  • Sring boot项目maven常用配置
    <?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/......
  • 在Windows下配置Clang编译器
    PreferencesLinux&macOS平台LLVM相关工具链下载2019年,在Windows下配置Clang编译器VisualStudio2022中使用Clangclion使用clang编译Clion2020.3:如何设置Clang编译器这篇文章主要介绍如何在Windows使用Clang编译器来编译C/C++程序(在命令行下,clang是C编译器,编译C++......
  • eslint vscode 配置文件
    { "settingsSync.ignoredSettings":[], "vetur.validation.template":false, "workbench.iconTheme":"vscode-icons", "workbench.colorTheme":"OceanicNext", "settingsSync.ignoredExtens......
  • SonarQube系列-通过配置扫描分析范围,聚焦关键问题
    在许多情况下,你可能不希望分析项目中每个源文件的各个方面。例如,项目可能包含生成的代码、库中的源代码或有意复制的代码。在这种情况下,跳过这些文件分析的部分或全部方面是有意义的,从而消除干扰并将焦点缩小到真正重要的问题上。如果SonarQube的结果不相关,那么没有人会想要使......
  • 初次运行 Git 前的配置
    既然已经在系统上安装了Git,你会想要做几件事来定制你的Git环境。每台计算机上只需要配置一次,程序升级时会保留配置信息。你可以在任何时候再次通过运行命令来修改它们。Git自带一个gitconfig的工具来帮助设置控制Git外观和行为的配置变量。这些变量存储在三个不同的......