java - 使用 Selenium WebDriver 从 Javascript 源中提取变量

标签 java javascript firefox selenium selenium-webdriver

我正在使用一个运行 Javascript 的页面源来打印页面上的文本。这是我所说的来源的片段:

var display_session = get_cookie("LastMRH_Session");
if(null != display_session) {
    document.getElementById("sessionDIV").innerHTML = '<BR>The session reference number: &nbsp;' + display_session + '<BR><BR>';
    document.getElementById("sessionDIV").style.visibility = "visible";
}

display session 变量不为 null 时,页面会显示该变量的值,但我想知道是否有办法在我的 Selenium WebDriver 代码中利用该变量。在 Javascript 中使用此代码的函数不会返回 display_session 变量,并且我无法更改页面源。我根据帖子here尝试了这个但它抛出异常。

JavascriptExecutor js = (JavascriptExecutor) driverRp; 
Object result = js.executeScript("return display_session");
System.out.println("sessionId = "+result);

有什么建议吗?

最佳答案

想通了。需要追踪 cookie 本身,而不是弄乱 Javascript 变量。

Cookie cookie = driverRp.manage().getCookieNamed("LastMRH_Session");
String sessionId = cookie.getValue().toUpperCase();
System.out.println("sessionId = "+sessionId);

在此找到解决方案post .

关于java - 使用 Selenium WebDriver 从 Javascript 源中提取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27067742/

相关文章:

java - 让 Hibernate 知道隐藏的实体关系

javascript - this 和 javascript 中的闭包(在 paper.js 中工作)

javascript - Material Design 表组件不支持动态行选择

javascript 使用 Firefox/chrome 进行 WMI 查询?

java - Tomcat 7 Jersey Jackson 200 OK 但有效载荷被剥离

java - 如何选择 Selenium 中的下拉值?

java - 由于索引处不透明部分中的非法字符,无法使用路径加载 keystore 类型 JKS

javascript - 添加回调到出队

php - PHP的报告是非常缓慢的,并在Firefox崩溃

html - 音频在 html5 中不起作用