java selenium webdriver无头模式参数设置

java webdriver无头模式参数设置Chrome设置mac linux需浏览器59版本以上,windows 60版本以上 ChromeOptions options = new ChromeOptions();// 设置 chrome 的无头模式 options.addArguments("--headless"); options.addArguments("--no-sandbox"); options.addArguments("--disable-gpu"); options.addArguments("--disable-dev-shm-usage"); WebDriver driver = new ChromeDriver(options);selenium add_argument 参数表https://peter.sh/experiments/chromium-command-line-switches/chrome_options.add_argument('--user-agent=""') # 设置请求头的User-Agentchrome_options.add_argument('--window-size=1280x1024') # 设置浏览器分辨率(窗口大小)chrome_options.add_argument('--start-maximized') # 最大化运行(全屏窗口),不设置,取元素会报错chrome_options.add_argument('--disable-infobars') # 禁用浏览器正在被自动化程序控制的提示chrome_options.add_argument('--incognito') # 隐身模式(无痕模式)chrome_options.add_argument('--hide-scrollbars') # 隐藏滚动条, 应对一些特殊页面chrome_options.add_argument('--disable-javascript') # 禁用javascriptchrome_options.add_argument('--blink-settings=imagesEnabled=false') # 不加载图片, 提升速度chrome_options.add_argument('--headless') # 浏览器不提供可视化页面chrome_options.add_argument('--ignore-certificate-errors') # 禁用扩展插件并实现窗口最大化chrome_options.add_argument('--disable-gpu') # 禁用GPU加速chrome_options.add_argument('–disable-software-rasterizer')chrome_options.add_argument('--disable-extensions')chrome_options.add_argument('--start-maximized')参考:https://blog.csdn.net/weixin_43968923/article/details/87899762火狐设置 FirefoxOptions options1 = new FirefoxOptions(); options1.addArguments("-headless");

Java selenium+webdriver使用教程

java selenium+webdriver使用教程webdriver驱动下载Chrome:http://npm.taobao.org/mirrors/chromedriver/https://chromedriver.storage.googleapis.com/index.htmlFirefox:https://github.com/mozilla/geckodriver/releases所需依赖只需要selenium-server依赖即可 <dependencies><!-- <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.141.59</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-api</artifactId> <version>3.141.59</version> </dependency>--> <!--或者用注释的坐标亦可--> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-server</artifactId> <version>3.141.59</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.1</version> </dependency> </dependencies>示例代码以下是模拟打开本站登陆页面,各位可使用Katalon Recorder浏览器插件自动生成代码,也可以参考下之前的一个示例 public static void main(String[] args) throws InterruptedException { System.setProperty("webdriver.chrome.driver", "C:\\Users\\Administrator\\Downloads\\chromedriver_win32\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.manage().window().maximize(); driver.manage().deleteAllCookies(); // 与浏览器同步非常重要,必须等待浏览器加载完毕 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); driver.get("https://cway.top"); Thread.sleep(2000); driver.findElement(By.linkText("登录后台")).click(); Thread.sleep(2000); driver.close(); driver.quit(); }其他操作打开各种浏览器//IE浏览器System.setProperty("webdriver.ie.driver", ".\\Tools\\IEDriverServer.exe");WebDriver driver = new InternetExplorerDriver();//ChromeSystem.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");WebDriver driver = new ChromeDriver();//FireFox(自定义安装)System.setProperty("webdriver.firefox.bin", "D:\\ProgramFiles\\Mozilla Firefox\\firefox.exe");//FireFox版本大于48,默认安装System.setProperty("webdriver.firefox.marionette", ".\\Tools\\geckodriver.exe");//FireFox版本小于48System.setProperty("webdriver.firefox.marionette", ".\\Tools\\geckodriver.exe");WebDriver driver = new FirefoxDriver();亦可用ChromeDriverService类构建驱动String webDriverPath = LagouSpider.class.getResource("chromedriver.exe").getPath(); // 这里需要注意一定要和打开的Chrome版本匹配 System.setProperty("webdriver.chrome.driver", webDriverPath); // 构建驱动 ChromeDriverService service = new ChromeDriverService.Builder(). usingDriverExecutable(new File(webDriverPath)).usingAnyFreePort().build(); try { service.start(); } catch (IOException e) { e.printStackTrace(); } // 获取Web驱动 WebDriver driver = new RemoteWebDriver(service.getUrl(), DesiredCapabilities.chrome());只是最后要关闭service // 退出驱动线程 driver.quit(); // 关闭service服务 service.stop();打开URL// 后退,跳转到上一页driver.navigate().back();// 前进,跳转到下一页driver.navigate().forward ();// 当前页刷新driver.navigate().refresh();// 浏览器窗口最大driver.manage().window().maximize();// 自定义设置浏览器尺寸driver.manage().window().setSize(new Dimension(width, heigth));关闭浏览器// 关闭当前页面driver.close(); // 关闭由selenium所启动的所有页面driver.quit();返回当前页标题与URL // 返回当前页面的Ttile String title = driver.getTitle(); // 返回当前页面的url String currentUrl = driver.getCurrentUrl();其它常见方法// 返回当前的浏览器的窗口句柄 String currentWindowHandle = driver.getWindowHandle() // 返回当前的浏览器的所有窗口句柄 Set<String> allWindowHandles = driver.getWindowHandles(); // 返回当前页面的源码 String currentPageSource = getPageSource() // 通过xpath获取元素 使用By还可以通过其他条件获取 WebElement titleElement = driver.findElement(By.xpath(titleExpression)); //获取文本 String titleElementText = titleElement.getText(); //获取属性 String titleElementHref = titleElement.getAttribute("href");参考:https://www.cnblogs.com/andrew209/archive/2004/01/13/9011399.html