【发布时间】:2015-06-03 13:50:37
【问题描述】:
如何将 Selenium/VBA 中的“粘贴”到浏览器文本字段?
我下载并安装了这个:https://code.google.com/p/selenium-vba/
我设法在 Firefox (CTRL-ALT-S) 中启动了 Selenium,并记录了我的自动化步骤。我在那里将代码语言更改为 VBA 并将其复制并粘贴到 Excel 中。
对于那些想知道在 Excel (2013) 中做什么的人:
右击“开始” 自定义功能区 勾选右侧的“开发者工具” 单击确定>单击“开发人员工具”>单击“Visual Basic”>单击“附加”>单击“参考”>查找“SeleniumWrapper 类型库”并检查它>单击确定>在菜单栏中单击“粘贴用户窗体” > 单击“模块” > 现在将 Selenium (Firefox) 插件中的 VBA 代码粘贴到那里
一切正常,但我希望它执行重复的网络浏览器任务,因此它应该复制 Excel 单元格并将其粘贴到网站的文本框中,例如在 Google 搜索栏中。
我已经找到了复制部分的解决方案:Range("A1").Copy
它有效,但我找不到粘贴部分的任何有效解决方案。经测试但没有用:
driver.findElementById("ID").SendKeys "^v" 给出“v”而不是粘贴。
driver.findElementById("ID").SendKeys(Keys.chord(Keys.CONTROL, "v")); 不接受“;”而且没有也行不通。
我还尝试了几个“等待”和“睡眠”代码,但我不确定它们中的哪一个确实有效,也不确定它们是否有必要。
driver.action.key_down(: control) 没用。
driver.findElementById("ID").keyDown(Keys.CONTROL).sendKeys(String.valueOf('\u0076')).perform(); 语法错误,没有“;” “错误:列表分隔符”并标记“。”在“字符串”和“值”之间。
感谢您的任何建议!
【问题讨论】: