我是Selenium Webdriver的新手.当我使用这个代码然后我得到输出和警告.请帮帮我,我怎么能忽略这个警告.我的代码是:
package com.webdriver.Webdriver;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
public class Example {
public static void main(String[] args) {
// Create a new instance of the html unit driver
// Notice that the remainder of the code relies on the interface,
// not the implementation.
WebDriver driver = new HtmlUnitDriver();
// And Now use this to visit Google
driver.get( "https://mobile.twitter.com/andres/about" );
// Find the text input element by its name
//WebElement element = driver.findElement(By.xpath("//title"));
WebElement element = driver.findElement(By.xpath("//div[@class='footer']/strong/a"));
String s=element.getText();
// Enter something to search for
//element.sendKeys( "Cheese!" );
// Now submit the form. WebDriver will find the form for us from the element
//element.submit();
// Check the title of the page
System.out.println( "Page title is: " + driver.getTitle());
System.out.println(s);
driver.quit();
}
}
警告:
Nov 30, 2011 2:54:23 PM com.gargoylesoftware.htmlunit.DefaultCssErrorHandler error
WARNING: CSS error: [1:1724] Error in @media rule. Invalid token “screen”. Was expecting one of: , , .
Nov 30, 2011 2:54:23 PM com.gargoylesoftware.htmlunit.DefaultCssErrorHandler warning
WARNING: CSS warning: [1:1724] Ignoring the whole rule.
Nov 30, 2011 2:54:23 PM com.gargoylesoftware.htmlunit.DefaultCssErrorHandler error
WARNING: CSS error: [1:1908] Error in @media rule. Invalid token “screen”. Was expecting one of: , , .
Nov 30, 2011 2:54:23 PM com.gargoylesoftware.htmlunit.DefaultCssErrorHandler warning
WARNING: CSS warning: [1:1908] Ignoring the whole rule.
Nov 30, 2011 2:54:23 PM com.gargoylesoftware.htmlunit.DefaultCssErrorHandler error
WARNING: CSS error: [1:3437] Error in @media rule. Invalid token “screen”. Was expecting one of: , , .
Nov 30, 2011 2:54:23 PM com.gargoylesoftware.htmlunit.DefaultCssErrorHandler warning
WARNING: CSS warning: [1:3437] Ignoring the whole rule.
Page title is: Twitter
Refresh Now
谢谢
解决方法:
您需要实现自己的HtmlUnitDriver子类,然后将cssErrorHandler设置为SilentCssErrorHandler实例.
import com.gargoylesoftware.htmlunit.SilentCssErrorHandler;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
public abstract class MyBaseTestCase {
protected HtmlUnitDriver webDriver = new SilentHtmlUnitDriver();
protected class SilentHtmlUnitDriver extends HtmlUnitDriver {
SilentHtmlUnitDriver() {
super();
this.getWebClient().setCssErrorHandler(new SilentCssErrorHandler());
}
}
}