1. 程式人生 > >selenium除錯

selenium除錯

serve throw 問題 log CA src AR 出現 nbsp

1.使用命令行啟動selenium

  下載selenium jar包  http://selenium-release.storage.googleapis.com/index.html

  此處下載的是selenium-server-standalone-3.13.0.jar

  java -jar selenium-server-standalone-3.13.0.jar

2. 執行java腳本

import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.TestNG;
import org.testng.annotations.Test;

import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.concurrent.TimeUnit;

public class errrotTest {
@Test
public void chrome() throws IOException {
DesiredCapabilities capabilities=new DesiredCapabilities();
ChromeOptions chromeOptions=new ChromeOptions();
//chromeOptions.addArguments("headless");
//chromeOptions.addArguments("window-size=400,1024");
//chromeOptions.addArguments("user-agent=\"Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36\"");
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);

RemoteWebDriver driver=new RemoteWebDriver(new URL("http://127.0.0.1:5555/wd/hub"), capabilities);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("http://www.baidu.com");
FileUtils.copyFile(driver.getScreenshotAs(OutputType.FILE), new File("1.png"));
}
}

3. 使用tcpdump查看報錯信息

  註意:使用tcpdump生成是二進制文件

sudo tcpdump -i any port 4444 -w tcpdump.log

4. 使用em-proxy查看報錯信息

gem安裝中會出現一些權限問題,需要用sudo安裝。為了操作方便,以後要將ruby卸載,使用普通用戶安裝。

gem install em-proxy

em-proxy -l 5555 -r 127.0.0.1:4444 -v

5. 腳本中沒有寫Chrome driver路徑,腳本依然可以啟動chrome瀏覽器,是因為path中已經添加chromedriver

技術分享圖片

selenium除錯