在searchinput时显示Javascriptbuild议框

我迫切需要编写一个macros来帮助我从javascriptsearch框中检索“build议”的结果。 我有一个很长的名单与一些不可读的字符(我已经转换为星号),并提交这些名称,这样的引擎我经常被build议相关的“干净”的名称。

该网页有很多javascript代码,所以我的任务最终在于指导excel来控制Internet Explorer,就像我手动执行。 由于版权的原因,我不能发布这个网页的全部来源,但我已经确定了我需要控制的两个主要元素。 首先,有一个input框,我需要inputsearch关键字:

<div class="quickSearchCriteria"> <input name="SearchText" type="text" id="SearchText_08" class="quickSearchCriteriaInput" maxlength="150" value="Enter a name" onkeyup="onClickText(true);GrayOkQuick();if(event.keyCode==13) {doOkOnEnterForMozilla();return true;}" onblur="onClickText(false);GrayOkQuick();" onmouseup="onClickText(true);" style="color:gray;" /> 

我发现在这个框中inputsearch关键字非常简单:

 Set objIE = CreateObject("InternetExplorer.Application") With objIE .navigate "%%%" .Visible = 0 Do While .Busy: DoEvents: Loop Do While .readyState <> 4: DoEvents: Loop Set htmlDoc = .Document Set htmlColl = htmlDoc.getElementsByName("SearchText") For Each htmlInput In htmlColl htmlInput.Focus htmlInput.Value = "Tryme" Next htmlInput 

在手动input姓名的时候,我可以触发build议框的细化,这个框将以表格的forms出现:

 <table class="sugg_m" cellspacing="0" cellpadding="0" style="visibility: visible; left: 23px; top: 92px; width: 342px;"> 

我也完全能够导入(并可能parsing)使用:

 Set htmlsugg = htmltabs.getElementsByClassName("sugg_m") stringresults = Trim(htmlsugg.item(, 1).outerText) 

我所缺less的是这两者之间的联系。 我无法从input框中触发onkeyup事件。 这是我已经尝试过,这是不成功的:

  1. 改变焦点(来回)

  2. 使用FireEvent方法: htmlInput.FireEvent "onkeyup"

  3. 使用dispatchEvent而不是FireEvent

    Set evt = htmlDoc.createEvent("HTMLEvents") evt.initEvent "blur", False, False htmlInput.dispatchEvent evt

  4. 执行所有看似相关的脚本:

    htmlDoc.parentWindow.execScript "ActiveNGram()", "JavaScript" htmlDoc.parentWindow.execScript "onClickText(true)", "JavaScript" htmlDoc.parentWindow.execScript "SearchTextCreateSugg()", "JavaScript" htmlDoc.parentWindow.execScript "ShowTable()", "JavaScript"

  5. 在4中的语句之前使用Call也不起作用

请注意,如果不成功,我的意思是macros运行平稳,但目标variablesstringresults返回为空(如果我手动inputsearch关键字,然后我用macros提取表)。

重新创build表的实际function位于一个JavaScript模块(我可以访问和手动查看,但我无法自动这样做:

 <script type="text/javascript" src="/version-201452/Common/Javascript/Search/sugg.js"></script> 

此外,我不认为有必要访问该模块:我不需要创build表,我只需要使其显示。

任何帮助将不胜感激,因为现在我已经失去了很多,如果需要,我可以提供更多的信息和代码。

谢谢!