4

我正在像这样使用 ocra 构建 .exeocra testing.rb -- sample

这里将''sample''作为参数传递给下面的代码并构建一个exe

require "selenium-webdriver"

$var = ARGV[0]

driver = Selenium::WebDriver.for :chrome
wait = Selenium::WebDriver::Wait.new(:timeout => 20)

puts $var


driver.navigate.to "https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1&ltmpl=default&ltmplcache=2&emr=1&osid=1#identifier"
sleep 5
input = driver.find_element(:id, "Email")
input.send_keys($var)
button = driver.find_element(:id, "next")
button.click
sleep 5

这里的问题是,在构建 .exe 之后,当我尝试通过传递不同的参数(值)来运行 exe 时,它​​总是采用与参数“样本”相同的值,因为它是硬代码。

C:\Users\shivaj\Downloads>testing.exe -- test1

它作为样本

请帮我解决这个问题,我刚刚制作了一个有问题的示例程序,但实际程序与它有更多关系。任何帮助表示赞赏。感谢您的帮助 !

4

2 回答 2

1

我想这是因为您将参数分配给变量,并且在构建 exe 时提供了参数。

我使用了一些使用参数并使用 ocra 转换为 exe 的脚本。

我做的是以下

ARGV.each do|arg|
  # do whatever with arg
end

然后,当您构建不提供参数的 exe 时,代码将运行良好,因为 ARGV 将在那里但为空。

于 2017-05-29T10:21:00.167 回答
0

Ocra 目前不支持:https ://github.com/larsch/ocra/issues/48

于 2017-05-29T10:08:14.710 回答