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