1

前几天,我拼命寻找使用 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 仍然无法正常工作:(

4

0 回答 0