IE9按钮单击自动化

时间:2012-01-23 19:47:59

标签: automation internet-explorer-9 ui-automation

我的几个供应商要求我通过他们的网站下订单。我通过单击订单处理程序中的按钮自动完成了该过程。我的程序将打开默认浏览器(现在是我上一台计算机死机后的IE 9),导航到供应商的网站订单页面,填写信息字段,然后单击表单提交按钮。

 this.oIE.Document.all.ctl00_MainContent_Login1_LoginButton.click()

或      this.oIE.Document.getElementById( “ctl00_MainContent_Login1_LoginButton”)。单击()

仅当按钮具有“onclick”值时才会出现问题。

在IE8中,click()事件执行onclick代码。在IE9中,click事件返回一个通用对象。它不会触发onclick代码。

我尝试过x.FireEvent(“click”),但这也会返回一个对象。 IE9 DOM onclick值似乎无法由外部程序执行。

我的程序在IE8上工作正常(我使用Chrome,IE,FireFox具有不同的设置和登录,因此更改默认浏览器并不是一个真正的选择。此外,我的一些供应商要求我使用IE,因为他们的网站已被破坏在其他浏览器上。)

任何关于永久性解决方案的建议都将受到赞赏。

2 个答案:

答案 0 :(得分:2)

我本可以逐字写下你的问题,并且只要你有这个问题就一直在争论。

愚蠢,愚蠢的问题:click()函数现在需要一个参数:click(1)

w = this.oIE.Document
z = w.getElementById("btn-header-input-signin")
z.click(1)

尚未对此进行全面测试,但它适用于美国邮政服务登录页面。

答案 1 :(得分:0)

按钮单击调用的功能可能在每个浏览器上具有相同的名称。你可以打电话给那个功能吗?

模拟按钮点击似乎是不必要的步骤。还有,你试过jQuery吗?像这样的图书馆试图消除浏览器差异。