如何使用 Watir 向网页添加和执行 JavaScript 函数

How to add and execute a JavaScript function to a web page with Watir

如何向给定网页添加 JavaScript 函数,执行它,然后使用 Watir 读取其结果?

require 'watir'
myfn = %<
  function samsFunction () {
    var samsBigVariable;
    window.samsBigVariable = "my secret goes here";
  };
  samsFunction();
>.gsub(/\s+/, ' ').strip
b = Watir::Browser.new :firefox
b.goto "google.com"
b.execute_script myfn
b.execute_script "window.samsBigVariable"
 => nil

在控制台中执行相同的 JavaScript 会导致变量被设置并在调用时返回。 execute_script有什么不同?

您需要明确 return 值:

b.execute_script "return window.samsBigVariable"
#=> "my secret goes here"