乐虎游戏|乐虎国际登录|欢迎你

Selenium WebDriver的使用(一),seleniumwebdriver

日期:2019-11-04编辑作者:计算机资讯

Selenium WebDriver的使用(一),seleniumwebdriver

Selenium WebDriver的有关介绍及能源下载:

在二零一四年5月份Selenium WebDriver更新到了2.52.0本子,提议在使用旧版本的更新至该版本,在安居和总体性上提升不菲。

Selenium帮忙驱动众多的浏览器,满含PC、移动端及PhantomJS等。

以在windows下的JAVA开垦条件为例,下载 Chrome和PhantomJS。PhantomJS能够领略为未有分界面包车型地铁Safari(QtWebkit作为渲染引擎,JS引擎是JavascriptCore卡塔尔。要使Selenium能驱动GoogleChrome,还亟需基于你的系统情况下载chromedriver,下载地址:

chromedriver下载解压后,能够放在任性目录,在前后相继中钦命好景况变量路线就可以:

1 System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir") + "\driver\chromedriver.exe");
2 WebDriver webDriver = new ChromeDriver();
3 webDriver.get("https://www.google.com/");

在驱动并运维GoogleChrome时,浏览器实例是不含有别的客户境遇安排的,要求团结加载,比如:

点名谷歌(Google卡塔尔 Chrome的缓存目录:

1 ChromeOptions options = new ChromeOptions();
2 options.addArguments("--disk-cache-dir="+System.getProperty("user.dir")+"\cache");
3 WebDriver webDriver = new ChromeDriver(options);

command line flag如:

--start-maximized:运转时最大化浏览器窗口;

--window-position=x,y:运转时钦命浏览器显示器坐标;

--window-size=w,h:运转时钦命浏览器宽高;

--disk-cache-size=s:钦命浏览器可接纳的磁盘缓存大小;

--media-cache-size=1:钦点媒体文件缓存大小;

--ignore-certificate-errors:忽略证书错误;

--disable-extensions:禁用扩充;

--disable-translate:禁止使用翻译转变;

越来越多的可参看:

除此以外生机勃勃种形式是利用capabilities,仿效:

意气风发旦利用phantomjs,相通的,钦定好系统情形变量路线就可以:

1 System.setProperty("phantomjs.binary.path", System.getProperty("user.dir") + "\driver\phantomjs.exe");
2 webDriver = new PhantomJSDriver();
3 webDriver.get("https://www.google.com/");

在get()实现,接下去就足以操作浏览器、提取页面内容了,比如:

领到页面中的image:

1 WebElement webElement;
2 List<WebElement> webElements;
3 webElements = webDriver.findElements(By.cssSelector("body img"));
4 for (webElement : webElements) {
5     System.out.println(webElement.getAttribute("src"));
6     System.out.println(webElement.getSize());
7 };

Selenium WebDriver的API参照他事他说加以考察地址:

假使在get()的时候展开了四个浏览器窗口,可通过switchTo().window(winHandle),切换到各窗口:

 1 String defaultWinHandle = webDriver.getWindowHandle();
 2 if (webDriver.getWindowHandles().size()>1) {
 3     for(String winHandle : webDriver.getWindowHandles()){
 4         if (!winHandle.equals(defaultWinHandle)) {
 5             webDriver.switchTo().window(winHandle);
 6             //do something...
 7             //close window: webDriver.close();
 8         };
 9     };
10     webDriver.switchTo().window(defaultWinHandle);
11 };

在操作完结后,退出:

1 webDriver.quit();

只要页面中有iframe,怎样可相信的切入切出?假如iframe还会有嵌套如何是好?

待续!

原创小说,转发请标记出处。

WebDriver的运用(生龙活虎卡塔尔国,seleniumwebdriver Selenium WebDriver的连带介绍及财富下载: 在二〇一五年四月份Selenium WebDriver更新到了...

爬取Taobao山珍海错前100页的title,image,location等现存到mongodb上
selenium python 官网:http://selenium-python.readthedocs.io/
http://selenium-python-zh.readthedocs.io/en/latest/

咱俩早已创建了Selenium maven工程,下去以前真正步入到WebDriver的实战中。

图片 1

既然WebDriver是用以Web的UI自动化测验,那么测验Web的首先步正是运营浏览器。那WebDriver都扶植什么浏览器呢?

1.png

WebDriver 帮助什么浏览器

WebDriver 补助主流的浏览器包罗IE,Chrome,Firefox,Safari等等,微软Win 10 新推出的Edge浏览器,Selenium 2.47.1+版本初步也拿到帮助。

咱俩在“Selenium 亲族介绍“ 意气风发节中生龙活虎度领悟WebDriver的专门的工作规律,既种种浏览器都有照拂的二个Driver,通过以之相应的Driver来驱动浏览器,那我们在启动浏览器前,得先达成浏览器的配置,下载各样浏览器对应的Driver文件。

程序在 windows10 下执行
先是安装种种模块和库:

IE 浏览器

  1. 安装Selenium,pip install selenium
    它是自动化测量试验工具。扶助各样浏览器,包蕴 Chrome,Safari,Firefox 等主流分界面式浏览器,安装一个Seleium驱动,作者设置的是谷歌webdriver.Chrome(),那是驱动地址:https://npm.taobao.org/mirrors/chromedriver/2.34/(境内的源卡塔 尔(阿拉伯语:قطر‎

扶植版本:

  • Selenium 2.0 支持IE 7~11
  • Selenium 3.0 支持IE 9+

有分界面包车型客车自动化浏览器只切合测量检验,总无法爬取的时候平素开着一个浏览器吧,PhantomJS 是无分界面的浏览器, 用 谷歌 浏览器测量试验完后就换来那个,
下载地址:http://phantomjs.org/

IEDriverServer下载和布置

运行时现身 warnings.warn('Selenium support for PhantomJS has been deprecated, please us , 搜了瞬间是说 Selenium 现在不再援助 PhantomJS , 百度上说旧版的 PhantomJS 基本上能用,试了或许极度,就直接换到了 谷歌(Google卡塔尔国 的 chromedriver.exe

IEDriverServer下载:

咱俩得以从 http://selenium-release.storage.googleapis.com/index.html 下载,如果该地方打不开,能够用天猫的镜像地址:https://npm.taobao.org/mirrors/selenium/。

IEDriverServer 下载时稳当心,你用的是怎么版本的Selenium 就在对应版本里面找IEDriverServer。
诸如大家明日用的是Selenium 3.5.0版本,那么大家就到3.5文本之中去下载对应的IEDriverServer,下载时还得依照自身的系统和版本。比方小编是win 64人,那么作者能够下载IEDriverServer_x64_3.5.0.zip,下载完结后解压获得终极的IEDriverServer.exe文件。

下载达成后的,大家回到新建好的Senlenium maven项目工程(新建进度:http://www.jianshu.com/p/6ca7bbcdf2dd 卡塔 尔(阿拉伯语:قطر‎,在类型名中大家能够新建个名叫drivers的文书夹,再把已经下载好的IEDriverServer.exe文件复制到该新建的drivers文件夹中,最后工程目录结果如下:

图片 2

工程结构

  1. 下载地址是 https://npm.taobao.org/mirrors/chromedriver/
    下载后的 chromedriver.exe 文件要在程序中程导弹入所在的路子,见 browser

IE的配置

配备IE,张开IE选项,张开安全标签,如下图,设置红框部分,设置每个区域的 “运转爱惜形式”,要嘛都勾选,要嘛都不勾选。

图片 3

IE 设置

自作者用的 Google Chrome 是 三十二个人的 66.0 ,下载的 chromedriver.exe 是 2.37 的,运营成功。
将下载的 chromedriver.exe 文件拖动到python安装目录下,使得 python 能够找获得这么些文件就足以了。

启动IE浏览器

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;

/**
 * Created by 米阳 on 7/9/2017.
 */
public class OpenBrowserTest {

    public static void main(String args[]) {
        openIE();
    }

    private static void openIE() {
//        设置系统变量,并设置iedriver的路径为系统属性值
        System.setProperty("webdriver.ie.driver", ".\drivers\IEDriverServer.exe");
//        实例化 InternetExplorerDriver
        WebDriver driver = new InternetExplorerDriver();
    }

}
  1. 安装 Pyquery, pip install pyquery
    pyquery 形似 jquery 的用法,有为数不菲的章程和函数,能够准鲜明位网页中的成分,归于深入深入分析 html 网页的库。

  2. 安装 pymongo, pip install pymongo
    python 调用 mongodb,需要 pymongo 驱动

Chrome 浏览器

由于在计算机上设置完 mongoDB 向来总是不上,总是 failed ,所幸就在设想机上安装 mongoDB ,在编造机上又跑不动那么多程序,只好把数据存到 text 文书档案,学习一下使用 mongoDB 。

ChromeDriver下载地址:

chromedriver下载时也亟需下载到相配的版本,极其是chrome浏览器和chromedriver的版本须要相配。那什么查看本身的chrome需求下载哪个版本的chromedriver呢?日常接收最新版的chrome和新星版的chromedriver便可,但纵然你不用都以最新版的,那么能够到:https://sites.google.com/a/chromium.org/chromedriver/downloads那之中去查看见您的哪些版本的chromedriver扶助你所使用的chrome版本。

当鲜明好相符您使用的chromedriver版本时,能够到http://chromedriver.storage.googleapis.com/index.html,本国客商也能够到天猫商城npm镜像(http://npm.taobao.org/mirrors/chromedriver卡塔尔国去下载对应版本的chromedriver版本。最终将下载下来的chromedriver解压后放于跟IEDriverServer.exe 相近地方,如下图:

图片 4

chromedriver.png

本文由乐虎游戏发布于计算机资讯,转载请注明出处:Selenium WebDriver的使用(一),seleniumwebdriver

关键词:

Shiro权限认证

Shiro权限认证 ApacheShiro是三个强有力而灵活的开源安全框架(本来想传到网盘供我们下载,不过出于本国网盘动不动将...

详细>>

203. Remove Linked List Elements,linkedelements

203. Remove Linked List Elements,linkedelements Remove all elements from a linked list of integers that havevalue  val . Example Given:  1 -- 2 -- ...

详细>>

汤姆cat配置虚构主机

Tomcat 设置二级域名 一、打开tomcat安装目录下conf/server.xml这个文件         在server.xml文档中找到 /Engine /Service 接着...

详细>>

linux文件同步

首先我的服务器端ip:192.168.122.129 配置rsync 同步数据 rpm包安装rsync及配置 客户端IP: 192.168.122.111 [root@Hammer home]# rpm -...

详细>>