При выполнении сценария, используемый для выделения и сброса 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. Есть ли обходной путь?
'arguments [0]'? С какими аргументами вы ссылаетесь? Это, безусловно, никогда не срабатывало. Кроме того, открепите свой код. – Tomalak
@Tomalak Это используется для работы в старых версиях ff. Аргументы [0] относятся к webelement & arguments [1] относится к стилю. Посетите ответ в http://stackoverflow.com/questions/10660291/highlight-elements-in-webdriver-during-runtime для ref .. – riaz
@Tomalak вы можете объяснить некоторые непосредственно исполняемые js на веб-странице, чтобы выделить веб-элемент? try 'arguments [0]' это веб-консоль, получил 'ReferenceError' – riaz