如何从Selenium获取JavaScript值

How do I get JavaScript Values from Selenium?

本文关键字:JavaScript 获取 Selenium      更新时间:2023-09-26

我正在运行以下代码(Java selenium客户端)-PAGE_NUMBER有一个值,但我无法使用selenium获取它:

String script = "var cellValue = selenium.browserbot.getUserWindow().PAGE_NUMBER;";
selenium.runScript(script);
String value = selenium.getEval("selenium.browserbot.getUserWindow().cellValue;");
System.out.println("Value: " + value);

我根本不知道Selenium1和Selenium2/Webdriver有很大不同。然而,我怀疑有三件事在这个问题上发挥了作用:

  1. 作用域:您将变量声明为脚本作用域的本地变量(通过编写var)。您可以通过省略var关键字来尝试使用全局变量,以便以后可以访问它
  2. 为什么要尝试通过selenium.browserbot.getUserWindow().访问变量。试着省略这部分
  3. cellValue后面的分号可能也不是什么好主意

再说一遍,为什么不简单地使用

String value = selenium.getEval("selenium.browserbot.getUserWindow().PAGE_NUMBER");

我希望这个答案至少有一部分能对你有所帮助。正如我所说,我只是猜测。