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();