前几天,我拼命寻找使用 ruby 和 win32ole 对象的非常原始的 Internet Explorer 自动化的解决方案。我发现了很多例子,但没有一个有效。请帮忙!
问题是,我可以打开资源管理器并填写数据,但我不能点击按钮也不能提交表单。
这是我的红宝石代码:
require 'win32ole'
ie = WIN32OLE.new('InternetExplorer.Application')
ie.Visible = true
ie.Navigate('haiku.php5.sk/PHP/automaton.html')
sleep(1) until ie.ReadyState == 4
ie.Document.All.textNaOdoslanie.Value = "tralala"
ie.Document.All.sbmt.click
sleep(1) until ie.ReadyState == 4
这是我的示例页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>
</head>
<body>
<form name="form1" action="automaton-action.php" method="post">
<input type="text" name="textNaOdoslanie" />
<input type="submit" name="sbmt" value="Odosli" />
</form>
</body>
</html>
我觉得我在死胡同,因为我尝试了几乎所有可能的代码组合。请不要推荐我,我也试过了。
非常感谢您的帮助。
PS:也请不要推荐其他浏览器,即使我也尝试过(使用watir)但到目前为止没有成功
编辑:我尝试使用 ruby 1.9.3,它似乎可以与 watir 一起使用。但是,ruby193 和 win32ole 和 IE10 仍然无法正常工作:(