如何在 Java selenium 中使用 JavascriptExecutor 获得 Javascript 的响应或如何提取 <script> 标签文本?

How do I get response of Javascript using JavascriptExecutor in Java selenium or how to extract <script> tag text?

这里我想从标签中提取值。但是通过硒,我无法找到脚本标签并获取相同的数据。

但是通过 Javascript,我能够访问该脚本标签并获取值。脚本如下,

<script class="payload-script"> Text </script>

$(".payload-script").text();

但现在我想通过 JavascriptExecutor 运行 这个脚本并获取 java 变量的值,这样我就可以做进一步的处理。

在 selenium 中 - JavaScriptExecutor 是一个接口,它提供了一种通过 selenium 驱动程序执行 Javascript 的机制。

请使用以下代码:

JavascriptExecutor jse = (JavascriptExecutor) driver;
String textValue = (String) jse.executeScript("return document.getElementsByClassName('payload-script')[0].text");
System.out.println(textValue);

另一种方式:

WebElement el = driver.findElement(By.className("payload-script"));
String textValue2 = (String) jse.executeScript("return arguments[0].text", el);
System.out.println(textValue2);