2015-01-25 2 views
2

При выполнении сценария, используемый для выделения и сброса WebElement селеном 2.43: Невозможно выделить WebElement в Selenium с помощью JavascriptExecutor для Firefox 35

public void highlightElement(WebElement element) { 
 
    String originalStyle = element.getAttribute("style"); 
 
    JavascriptExecutor js = (JavascriptExecutor) selenium; 
 
    js.executeScript("arguments[0].setAttribute('style', arguments[1]);",element, 
 
\t \t \t \t     "color: red; border: 5px solid red;"); 
 
    try { 
 
    Thread.sleep(3000); 
 
    } catch (InterruptedException e) {} 
 
    js.executeScript("arguments[0].setAttribute('style', '" + originalStyle + "');", element); 
 
}

Затмение возвращает ошибку:

org.openqa.selenium.WebDriverException: arguments[0] is undefined 
 
Command duration or timeout: 74 milliseconds 
 
Driver info: org.openqa.selenium.firefox.FirefoxDriver 
 
Capabilities [{platform=WINDOWS, databaseEnabled=true, cssSelectorsEnabled=true, javascriptEnabled=true, acceptSslCerts=true, handlesAlerts=true, browserName=firefox, webStorageEnabled=true, nativeEvents=false, rotatable=false, locationContextEnabled=true, applicationCacheEnabled=true, takesScreenshot=true, version=35.0}]

Наблюдаемый e после обновления Firefox 35. Есть ли обходной путь?

+1

'arguments [0]'? С какими аргументами вы ссылаетесь? Это, безусловно, никогда не срабатывало. Кроме того, открепите свой код. – Tomalak

+0

@Tomalak Это используется для работы в старых версиях ff. Аргументы [0] относятся к webelement & arguments [1] относится к стилю. Посетите ответ в http://stackoverflow.com/questions/10660291/highlight-elements-in-webdriver-during-runtime для ref .. – riaz

+0

@Tomalak вы можете объяснить некоторые непосредственно исполняемые js на веб-странице, чтобы выделить веб-элемент? try 'arguments [0]' это веб-консоль, получил 'ReferenceError' – riaz

ответ

Смежные вопросы