【问题标题】:AutoIt v3: _IENavigate + _IELoadWait Not Working as Expected?AutoIt v3:_IENavigate + _IELoadWait 没有按预期工作?
【发布时间】:2014-10-02 04:34:02
【问题描述】:

这段代码应该是在“www.website.com”上打开一个新的浏览器,提交用户名和密码,提交后等待页面加载,导航到新页面,并注入一个javascript代码地址栏。

我当前的代码结果是在“www.website.com”上打开一个新的浏览器,提交用户名和密码。提交工作,然后从这里开始,代码中断,而不是导航到下一页 (page2),它只是挂起。

即使我向 _IEFormSubmit($oForm) 添加了忽略命令,我也无法让我的页面导航到下一页。

#include <IE.au3>

#RequireAdmin

Local $oIE = _IECreate("http://www.website.com")
;_IELinkClickByText($oIE, "Sign In") ;Optional
Local $oForm = _IEFormGetObjByName($oIE, "regular-user-login-form")
Local $oText = _IEFormElementGetObjByName($oForm, "log")
_IEFormElementSetValue($oText, "username")
Local $oText = _IEFormElementGetObjByName($oForm, "pwd")
_IEFormElementSetValue($oText, "password")
_IEFormSubmit($oForm)

_IENavigate($oIE, "http://www.website.com/page2/")

Send("{F4}javascript:check_in();{ENTER}")

看在上帝的份上,我做错了什么。

编辑:我还将 _IEFormSubmit($oForm) 更改为另一个 javascript 提交,我仍然可以毫无问题地登录,但是一旦我到达下一页,我就无法使用 _IENavigate,所以问题出在在那里。

【问题讨论】:

  • 我仍在寻求解决这个问题的帮助 - 我找到了一些与使用 _IENavigate 不同的解决方案,但我真的很想能够使用那个特定的位如果可能的话。至少,我想了解为什么会出现问题。

标签: browser navigation automation autoit


【解决方案1】:

我已经自动化了很多不同的页面,有时脚本会无缘无故地卡在 _IEFormSubmit 上。这是 AutoIt 的错误。

她可以快速解决这个问题

_IEFormSubmit($oForm, 0)
_IELoadWait($oIE, 1000)

你的代码应该是:

#include <IE.au3>

#RequireAdmin

Local $oIE = _IECreate("http://www.website.com")
;_IELinkClickByText($oIE, "Sign In") ;Optional
Local $oForm = _IEFormGetObjByName($oIE, "regular-user-login-form")
Local $oText = _IEFormElementGetObjByName($oForm, "log")
_IEFormElementSetValue($oText, "username")
Local $oText = _IEFormElementGetObjByName($oForm, "pwd")
_IEFormElementSetValue($oText, "password")
_IEFormSubmit($oForm, 0)
_IELoadWait($oIE, 1000)

_IENavigate($oIE, "http://www.website.com/page2/")

Send("{F4}javascript:check_in();{ENTER}")

有一次,我试图向 autoit 论坛报告两个错误,但那里的人非常沮丧。所以,现在当我找到一个时,我只是用我的方式解决它。

题外话:

在处理对象时你应该知道另一个错误

If $oInput.outertext = "Continue" then ...

即使外部文本匹配,上述代码有时也会失败。 这是使用解决的,使用

If $oInput.outertext == "Continue" then ...

【讨论】:

    猜你喜欢
    • 2013-05-31
    • 2021-10-19
    • 2020-03-18
    • 2012-06-14
    • 2014-11-15
    • 1970-01-01
    • 2012-07-02
    • 2011-09-07
    • 2013-03-03
    相关资源
    最近更新 更多