|

楼主 |
发表于 2015-9-25 11:13
|
显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
我分享我内部网站的例子,你看了也没啥用啊,我也没有任何的参考资料,都用的VBA录制宏,然后就解决了。分享一段你看看吧。不需要学什么东西的
Dim driver As New WebDriver
Dim driver2 As New WebDriver
Dim collection As WebElementCollection
driver.Start "firefox", ThisWorkbook.Sheets(1).Cells(2, 1).Value
' driver.setImplicitWait 5000
driver.Open ThisWorkbook.Sheets(1).Cells(2, 1).Value
driver.findElementByName("userId").Clear
driver.findElementByName("userId").SendKeys ThisWorkbook.Sheets(1).Cells(6, 1).Value
driver.findElementByName("password").Clear
driver.findElementByName("password").SendKeys ThisWorkbook.Sheets(1).Cells(6, 2).Value
driver.findElementByCssSelector("button.btn.btn-primary").Click
Dim frameUrl: frameUrl = driver.findElementsByTagName("frame").Item(2).getAttribute("src")
driver.get frameUrl
driver.findElementsByName("CHOOSE_MODE")(ThisWorkbook.Sheets(1).Cells(7, 1)).Click
driver.findElementByXPath("//input[@value='" & ThisWorkbook.Sheets(2).Cells(5, 1).Value & "']").Click
frameUrl = driver.findElementsByTagName("frame").Item(2).getAttribute("src")
driver.get frameUrl
driver.findElementById("btn_listSet").Click
driver.switchToWindow (1)
driver.findElementById("FROM_DATE").Clear
driver.findElementById("FROM_DATE").SendKeys ThisWorkbook.Sheets(1).Cells(5, 1).Value
driver.findElementById("TO_DATE").Clear
driver.findElementById("TO_DATE").SendKeys ThisWorkbook.Sheets(1).Cells(5, 2).Value
driver.findElementByCssSelector("input.button.buttonXS").Click
Set collection = driver.findElementsByTagName("td")
For i = 0 To collection.Count - 1
If collection.Item(i).Text = ThisWorkbook.Sheets(1).Cells(4, 1).Value Then
collection.Item(i - 1).findElementByXPath("//input[@value='" & ThisWorkbook.Sheets(2).Cells(2, 1).Value & "']").Click
driver.switchToAlert().accept
Exit For
End If
Next i
driver.Close
driver.switchToWindow (0)
driver.findElementById("btn_submit").Click
driver.switchToAlert().accept
driver.switchToWindow (1)
driver.Close
driver.stop
这段函数完成了内部网站相当复杂的操作,如果用IE去写 代码长度是他的3倍多。
这个技术国外很早就有了,国内只用于大型网站的测试,VBA代码生成功能去年刚出来的。
日本已经在用这个技术了。国人要进步啊 |
|