我被分配了自动执行基于Web的任务的任务(对于HTTPS网站)。用户当前正在使用数据填写Excel表格,他们现在希望以直接控制浏览器并填写数据的方式自动化Excel。
我发现iMacros Scripting版本是这样做的可能解决方案,我想知道是否还有其他类似工具可用于控制浏览器和填充数据。
我还看了一下Selenium客户端驱动程序,但我不确定如何在Excel VBA中使用它。
任何帮助都将不胜感激。
谢谢,
答案 0 :(得分:3)
您可以通过安装此处提供的工具来使用Visual Basic编辑器中的Selenium:
http://code.google.com/p/selenium-vba/
有一个Selenium IDE插件可以在VBA中自动记录脚本,还有一个安装包可以在Visual Basic编辑器中运行Selenium命令。
以下示例启动firefox,打开第1列中的链接,将标题与第2列进行比较,并将结果与第3列中的结果进行比较。 已使用的数据位于工作表中,名为“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
答案 1 :(得分: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
[]的
答案 2 :(得分: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")