当我们的程序执行时需要页面某个元素,而此时这个元素还未加载完成,webdriver会自动跳过执行下一个任务;
需要让driver延迟,做隐式等待
System.setProperty("phantomjs.binary.path", "D:\\source\\phantomjs-2.0.0-windows\\bin\\phantomjs.exe");
ff.manager().timeouts().imlicitlyWait(10,TimeUnit.SECOONDS);
String userAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36";
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability(PhantomJSDriverService.PHANTOMJS_PAGE_SETTINGS_PREFIX + "userAgent", userAgent);
PhantomJSDriver p = new PhantomJSDriver(caps);
System.setProperty("webdriver.firefox.marionette","D:\\dev\\lrh\\source\\geckodriver.exe");
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("permissions.default.image", 2);
WebDriver driver = new FirefoxDriver();
driver.get("http://www.taobao.com");
driver.quit();
chrome driver据说是chromium团队在维护,试了下很稳定。赞一个