Selenium Node 使用技巧(chrome)
分类: JAVASCRIPT
| 浏览人数: 5939 | 赞: 0 | 发表于: 2016-11-15 | _by: liuzw
1、带上参数打开浏览器
1 2 3 4 | var option = new chrome.Options(); var driver = new webdriver.Builder().forBrowser( 'chrome' ) .setChromeOptions(option).build(); |
2、自定义User-Agent
1 2 3 4 5 | 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(); |
3、加载扩展程序
1 2 | option.addArguments( '--load-extension=path/Google/Chrome/Default/ Extensions/padekgcemlokbadohgkifijomclgjgif/2.3.21_0' ); |
4、切换用户目录
1 | option.addArguments( '--user-data-dir=/Users/lzw/Library/Application Support/Google/Chrome/Default/test_app' ); |
5、设置代理
1 2 3 4 | option.setProxy({httpProxy: "127.0.0.1:8888" ,proxyType: "manual" }); //或者 option.addArguments( "--proxy-server=180.106.235.252:28047" ); //但是以上两种似乎不能代理 https 的请求,我使用的扩展插件 |
6、设置窗口大小
1 | driver.manage().window().setSize(1920 ,1080); |
7、设置窗口位置
1 | driver.manage().window().setPosition(0,0); |
8、执行JS代码
1 | driver.executeScript( 'window.scrollTo(0,200)' ); |
9、获取页面标题
1 2 3 | driver.getTitle().then( function (title){ console.log(title); }); |
10、新窗口打开页面后切换handler
1 2 3 4 | driver.getAllWindowHandles().then( function (handles){ //这是切换到第二个tab页 driver.switchTo().window(handles[1]); }); |
11、点击元素
1 2 3 4 | 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(); |