0

我不知道标题是否合适,但我希望得到一些帮助。我正在寻找一种使用 Linux 终端发送短信的方法,我找到了一个脚本。该脚本是用 Ruby 编写的,看起来不错。我对 Ruby 不熟悉,但代码解释得很好,因此普通人可以轻松使用它。

require 'mechanize'
number   = ARGV.shift
message  = ARGV * " "

if message.length > 160 || message.length < 1
  $stderr.puts "Message too short or too long.."
  exit 1
end

agent = WWW::Mechanize.new

page = agent.get('http://www.xxxxxx.com/')
hp_formlogin = page.form('login')
hp_formlogin.username = 'xxxxxxxx'
hp_formlogin.pass = 'xxxxxxxx'
page = agent.submit(hp_formlogin)

#ONLY USED IF YOUR SITE REDIRECTS YOU AFTER LOGIN
page = agent.click page.links.text('Send Free SMS')
pp page

page = agent.get('http://www.xxxxxxxx.com/send/free-sms')
#ONLY USED IF THERE'S NO NAME FOR THE FORMFIELD.
# SO IF YOU HAVE ONE, COMMENT OUT THE LINE BELOW AND ENTER THIS
 hp_formsms = page.form('freesms2')
#hp_formsms = page.forms.first
hp_formsms.frno = number
hp_formsms.message3 = message
page = agent.submit(hp_formsms)

这是代码......但问题是,在登录网站时,它会在进入配置文件之前显示一个中间框架(我认为是 iframe)。这样 page = agent.click page.links.text('Send Free SMS') 不起作用。这是因为,此帧没有名为 send free sms 的链接。这有一个由图像制成的关闭按钮。如何绕过此框架进入个人资料页面并发送消息。请帮助..欢迎任何帮助。

4

1 回答 1

1

您可以通过 frame_with、iframe_with 和其他获取框架。
例子:

page.frame_with(:src => %rfoo/).click

请参阅以下文档。
http://mechanize.rubyforge.org/Mechanize/Page.html

于 2012-05-02T15:22:23.730 回答