i recently changed from selenium RC to WebDriver can any suggest best alternative for getEval function?

StackOverflow https://stackoverflow.com/questions/21449855

  •  04-10-2022
  •  | 
  •  

質問

return super.getEval(script);

i want to return the string after executing the java script

(String) ((JavascriptExecutor) this).executeScript(jsExpression)

役に立ちましたか?

解決

Try to use this:

public void trigger(String script, WebElement element) {
    ((JavascriptExecutor) driver).executeScript(script, element);
}

public Object trigger(String script) {
    return ((JavascriptExecutor) driver).executeScript(script);
}

Use it:

 //get value
 String script = "return document.getElementsByTagName('input')[0].value;";
 //get text
 String script = "return document.getElementsByTagName('p')[0].innerHTML;";
 Object elementValue = trigger(script);
 String value = (String) elementValue;

 //use some element
 WebElement element = driver.findElement(By.id("someId"));
 trigger("arguments[0].click();", element);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top