Selenium Node 使用技巧(chrome)
分类:  JAVASCRIPT   |  浏览人数:  5265   |  赞:  0   |  发表于:  2016-11-15   |  _by:  liuzw

1、带上参数打开浏览器

var option = new chrome.Options();
var driver = new webdriver.Builder().forBrowser('chrome')
.setChromeOptions(option).build();
driver.get('http://baidu.com');

2、自定义User-Agent

var option = new chrome.Options();
option.addArguments('--user-agent=Mozilla/5.0 XXXX Safari/537.36');
var driver = new webdriver.Builder().forBrowser('chrome')
.setChromeOptions(option).build();
driver.get('http://baidu.com');

3、加载扩展程序

option.addArguments('--load-extension=path/Google/Chrome/Default/
Extensions/padekgcemlokbadohgkifijomclgjgif/2.3.21_0');

4、切换用户目录

option.addArguments('--user-data-dir=/Users/lzw/Library/Application Support/Google/Chrome/Default/test_app');

5、设置代理

option.setProxy({httpProxy:"127.0.0.1:8888",proxyType:"manual"});
//或者
option.addArguments("--proxy-server=180.106.235.252:28047");
//但是以上两种似乎不能代理 https 的请求,我使用的扩展插件

6、设置窗口大小

driver.manage().window().setSize(1920 ,1080);

7、设置窗口位置

driver.manage().window().setPosition(0,0);

8、执行JS代码

driver.executeScript('window.scrollTo(0,200)');

9、获取页面标题

driver.getTitle().then(function(title){
    console.log(title);
});

10、新窗口打开页面后切换handler

driver.getAllWindowHandles().then(function(handles){
    //这是切换到第二个tab页
       driver.switchTo().window(handles[1]);
  });

11、点击元素

var By = webdriver.By;
driver.actions().click(driver.findElement(By.xpath("//div[@id='mainCarousel']/div[1]/a"))).perform();
//设置点击坐标(相对element)
driver.actions().mouseMove(driver.findElement(By.xpath('//*[@id="pageTop"]/section/div/div[3]/div/a')), {x:20,y:20}).click().perform();


湘ICP备15000194号


返回
关于