是否可以從Selenium JavascriptExecutor中修改Java變量的值?在JavascriptExecutor中修改Java變量
我知道可以在JavascriptExecutor中訪問Java變量作爲'"+myjavavar+"'
,但我們如何修改它?
如果我使用'"+myjavavar+"'= somenewvalue;
,則會失敗,並顯示錯誤"invalid assignment left-hand side"
。
是否可以從Selenium JavascriptExecutor中修改Java變量的值?在JavascriptExecutor中修改Java變量
我知道可以在JavascriptExecutor中訪問Java變量作爲'"+myjavavar+"'
,但我們如何修改它?
如果我使用'"+myjavavar+"'= somenewvalue;
,則會失敗,並顯示錯誤"invalid assignment left-hand side"
。
您可以通過JavascriptExecutor
獲取並設置JavaScript變量。要在您執行的每個腳本中提供的測試會話期間擁有「全局」變量,請將其保留在global window
object上。例如:
JavascriptExecutor js = (JavascriptExecutor) driver;
// set the value (note how the arguments are passed into)
js.executeScript("window.myvar = arguments[0];", "Test");
// get the value (note the "return")
String myvar = (String) js.executeScript("return window.myvar;");
System.out.println(myvar);
謝謝...!很公平。 – bpk
您可能會在這裏混淆java和javascript。你想通過'JavascriptExecutor'修改* javascript變量*,對嗎? – alecxe
@alecxe不,我想通過JavascriptExecutor訪問和修改一個java變量。 – bpk
你能否添加更多關於這種需求背後動機的細節? – alecxe