Selenium Node 使用技巧(chrome)
分类: JAVASCRIPT
| 浏览人数: 6521 | 赞: 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();