当前位置: 首页 > 知识库问答 >
问题:

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

樊熠彤
2023-03-14

我正在使用一个运行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";
}
JavascriptExecutor js = (JavascriptExecutor) driverRp; 
Object result = js.executeScript("return display_session");
System.out.println("sessionId = "+result);

有什么建议吗?

共有1个答案

欧阳嘉
2023-03-14

想通了。需要跟踪cookie本身而不是干扰Javascript变量。

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

在这篇文章中找到了解决方案。

 类似资料:
  • 问题内容: 我想知道是否可以仅使用Javascript将文本包含在PDF文件中?如果是,谁能告诉我如何? 我知道有一些服务器端的Java,C#等库,但我宁愿不使用服务器。谢谢 问题答案: 这是一个古老的问题,但是由于pdf.js多年来一直在发展,所以我想给出一个新的答案。也就是说,它可以在本地完成,而无需涉及任何服务器或外部服务。新的pdf.js具有一个函数:page.getTextContent

  • 问题内容: 如何从JavaScript读取/访问JSP变量? 问题答案: 要么 或完整的例子 注意:在渲染输入之前先对其进行消毒,这可能会打开很多XSS可能性

  • 我正在使用Selenium(Java版本)测试一个基于OpenLayers的API。 我想测试一个使用的功能。控制修改功能。我想单击绘制的特征(SVG),然后拖动并检查它们是否存在、可见或隐藏。 我已经画了一个多边形,并且选择了它。见下图: 这些SVG元素的HTML如下所示: 假设我想选择红点。 我试过: 但是它总是返回一个空列表。 我做错了什么?有人能帮我吗? 多谢了。 编辑1-功能:垂直显示可

  • 问题内容: 我正在使用Selenium WebDriver(Java)和TestNG在我创建的网站上进行一些测试。在这个网站上,我也有JavaScript,并且在某些功能中,它返回值,并通过将值输出到浏览器控制台。 我想知道Selenium WebDriver是否有一种简单的方法来访问某些JavaScript信息,以便可以使用TestNG执行断言。 我对Selenium还是很陌生,但我知道您可以执

  • 我正在使用Selenium WebDriver(Java)和TestNG对我创建的网站进行一些测试。在这个网站中,我也有JavaScript,在一些函数中,它返回值,也通过向浏览器控制台输出值。 基本上,我希望Selenium能够获取JavaScript变量的值,将其存储在本地,然后对其进行断言测试。 假设我的网站有以下JS代码: 根据我阅读和理解的情况,在我单独的Selenium测试文件(Sel

  • 我正在尝试从表中提取特定的信息,基于哪个单元格被单击。到目前为止,我已经创建了一个可以在单击时工作的函数。问题是它总是返回第一个单元格行的值。 HTML: 如您所见,我尝试了和来启用提取槽ID。这是单击时调用的函数。 和总是从表的第一行返回值,即使我单击第二行、第三行、第四行等。 我如何声明我想要的信息不仅来自第一个,而且来自我单击的行。提前谢谢!