3

我被分配了自动化基于 Web 的任务的任务(对于 HTTPS 网站)。用户目前正在用数据填写 Excel 表,他们现在希望以直接控制浏览器并填写数据的方式自动化 Excel。

我发现 iMacros Scripting 版本是一个可能的解决方案,我想知道是否有任何其他类似的工具可用于控制浏览器和填充数据。

我还查看了 Selenium 客户端驱动程序,但我不确定如何在 Excel VBA 中使用它。

任何帮助,将不胜感激。

谢谢,

4

3 回答 3

4

您可以通过安装此处提供的工具来使用 Visual Basic 编辑器中的 Selenium:

http://code.google.com/p/selenium-vba/

有一个 Selenium IDE 插件可以自动在 VBA 中录制脚本,还有一个安装包可以在 Visual Basic 编辑器中运行 Selenium 命令。

以下示例启动 Firefox,在第一列打开链接,将标题与第二列进行比较,并将结果传递到第三列。使用的数据位于工作表中,位于名为“MyValues”的范围内。

Public Sub TC002()
   Dim selenium As New SeleniumWrapper.WebDriver, r As Range
   selenium.Start "firefox", "http://www.google.com" 
   For Each r In Range("MyValues").Rows
     selenium.open r.Cells(, 1)
     selenium.waitForNotTitle ""
     r.Cells(, 3) = selenium.verifyTitle(r.Cells(, 2))
   Next
   selenium.stop
End Sub
于 2012-03-06T18:31:12.947 回答
1

此示例打开 stackoverflow 站点并显示 IE

Sub OpenIE()
'officevb.com
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")

ie.Navigate "http://www.stackowerflow.com"

 'wait load
 While ie.ReadyState <> READYSTATE_COMPLETE
  DoEvents
 Wend

ie.Visible = True

End Sub

[]的

于 2011-09-21T00:54:17.150 回答
0

我使用此代码从 excel 读取数据并将其传递给 selenium 以执行诸如“单击、选择、关闭等”之类的任务,您也可以将数据写入 excel。

这是在 python 中,我不知道 VB,如果你希望我也会在 perl 中给出相同的代码,我知道 perl。

我希望这可能会有所帮助。

from xlwt import Workbook

import xlrd

testconfigfilename="testconfig.xls"

    if (len(sys.argv) > 1):

        testconfigfilename=sys.argv[1]       

    wb = xlrd.open_workbook(testconfigfilename);

    wb.sheet_names();

    sh = wb.sheet_by_index(0); 'Sheet 0 - selenium server configuration'



    seleniumHost = sh.cell(1,0).value

    seleniumPort = int(sh.cell(1,1).value)

    testBaseURL = sh.cell(1,2).value

    browser = sh.cell(1,3).value

    timeout = int(sh.cell(1,4).value)

    path = sh.cell(1,5).value

outputwb = Workbook()

    outputsheet = outputwb.add_sheet("result",cell_overwrite_ok=True) #get the first sheet in the result xls 

outputsheet.write(RowNumber,colNumber,"data")
于 2011-10-10T06:52:03.767 回答