Предупреждение Selenium Webdriver - Недопустимый токен "screen" - PullRequest
3 голосов
/ 30 ноября 2011

Я новичок в 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();
        }

}

ВНИМАНИЕ:

30 ноября 2011 г. 14:54:23 com.gargoylesoftware.htmlunit.DefaultCssErrorHandler error

ПРЕДУПРЕЖДЕНИЕ: ошибка CSS: [1: 1724] Ошибка в правиле @media. Неверный токен "screen". Ожидал одного из:,,.

30 ноября 2011 г. 14:54:23 com.gargoylesoftware.htmlunit.DefaultCssErrorHandler предупреждение

ПРЕДУПРЕЖДЕНИЕ: предупреждение CSS: [1: 1724] Игнорирование всего правила.

30 ноября 2011 г. 14:54:23 com.gargoylesoftware.htmlunit.DefaultCssErrorHandler error

ВНИМАНИЕ: Ошибка CSS: [1: 1908] Ошибка в правиле @media. Неверный токен "screen". Ожидал одного из:,,.

30 ноября 2011 г. 14:54:23 com.gargoylesoftware.htmlunit.DefaultCssErrorHandler предупреждение

ПРЕДУПРЕЖДЕНИЕ: предупреждение CSS: [1: 1908] Игнорирование всего правила.

30 ноября 2011 г. 14:54:23 com.gargoylesoftware.htmlunit.DefaultCssErrorHandler error

ВНИМАНИЕ: ошибка CSS: [1: 3437] Ошибка в правиле @media. Неверный токен "screen". Ожидал одного из:,,.

30 ноября 2011 г. 14:54:23 com.gargoylesoftware.htmlunit.DefaultCssErrorHandler предупреждение

ПРЕДУПРЕЖДЕНИЕ: предупреждение CSS: [1: 3437] Игнорирование всего правила.

Заголовок страницы: Twitter Обновить сейчас

Спасибо

Ответы [ 2 ]

5 голосов
/ 19 июня 2013

Вам потребуется реализовать собственный подкласс 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());
        }
    }
}

Затем вы можете расширить этот базовый класс, получить доступ к объекту webDriver и наслаждаться выводом без спама!

1 голос
/ 30 ноября 2011

Файл CSS для страницы https://mobile.twitter.com/andres/about содержит неожиданный / неподдерживаемый / неработающий код.

У вас есть два варианта: заменить DefaultCssErrorHandler на SilentCssErrorHandler или заменить егос реализацией по умолчанию, которая просто фильтрует эти конкретные ошибки (сопоставьте сообщение об ошибке со строками, которые вы видите в выходных данных).

Чтобы установить собственный обработчик:

HtmlUnitDriver driver = new HtmlUnitDriver(); // Can't use generic driver anymore
driver.getWebClient().setCssErrorHandler(handler); // install your handler
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...