我正在使用運行Javascript的頁面源來打印頁面上的文本。這是我講的源代碼片段:使用Selenium WebDriver從Javascript源提取變量
var display_session = get_cookie("LastMRH_Session");
if(null != display_session) {
document.getElementById("sessionDIV").innerHTML = '<BR>The session reference number: ' + display_session + '<BR><BR>';
document.getElementById("sessionDIV").style.visibility = "visible";
}
該頁面顯示display session
變量的值時,它不是空,但我想知道是否有一種方法,我可以利用這個變量我的Selenium WebDriver代碼。在Javascript中使用此代碼的函數不返回display_session
變量,我無法更改頁面源代碼。我試着基於帖子here,但它引發了一個異常。
JavascriptExecutor js = (JavascriptExecutor) driverRp;
Object result = js.executeScript("return display_session");
System.out.println("sessionId = "+result);
有什麼建議嗎?
拋出的異常是什麼? – Richard 2014-11-21 18:20:27
@Richard org.openqa.selenium.WebDriverException:未知錯誤:display_session未定義 – user2150250 2014-11-21 18:35:06
看起來像'display_session'爲'null'的情況?或者是'js.executeScript'行引發的異常? – Richard 2014-11-21 19:49:31