我使用selenium+vba启动chrome来打开单元格范围(“A1:A10”)中列出的10个URL。我对硒并不熟悉,在尝试了很多次之后,我终于在笨拙的代码下面出来了。
Private selenium As New ChromeDriver
Sub test()
Dim cell As Range
Dim keys As New selenium.keys
Dim pageNo As Integer
pageNo = 0
selenium.Start "chrome", "http://www.google.com/"
For Each cell In Range("A1:A10")
If pageNo >= 1 Then
selenium.SendKeys keys.Control & "t" + keys.Control & "t"
selenium.SwitchToNextWindow
End If
selenium.Get cell.Value
pageNo = pageNo + 1
Next
End Sub
提出的几个麻烦和问题:
>
我很困惑为什么我必须发送2次“Ctrl+T”键才能成功打开新选项卡。
我很困惑为什么我必须发送2次“Ctrl+T”键才能成功打开新标签。
修饰键应该在第一个参数中,而键应该在第二个参数中:
driver.SendKeys Keys.Control, "t"
在您的情况下,更好的方法是使用一些JavaScript打开一个新窗口:
Private Keys As New selenium.Keys
Private driver As New selenium.ChromeDriver
Sub test()
Const JS_NEW_WINDOW = "window.open(arguments[0], name);"
driver.Get "http://www.google.com/"
For i = 0 To 9
If i Then
driver.ExecuteScript JS_NEW_WINDOW, "http://www.google.com/"
driver.SwitchToNextWindow
driver.FindElementById("lst-ib").SendKeys "some text " & i
End If
Next
End Sub
Dim driver As New Selenium.ChromeDriver
driver.SetPreference "plugins.plugins_disabled", Array("Adobe Flash Player")
For i = 0 To 9
driver.Get "http://www.google.com/"
Waiter.wait 500 ' waits 500ms
Next
Dim driver As Selenium.ChromeDriver
Sub Main
Set driver = New Selenium.ChromeDriver
driver.Get "http://www.google.com/"
End Sub
问题内容: 根据 文档: window_handles 返回当前会话中所有窗口的句柄。 但是,打开新标签页后,我看不到新句柄出现在列表中: 如您所见,具有相同的值,但是我看到在浏览器中打开了2个标签。我做错了什么吗?如果是,应该如何获取新标签的句柄? 使用: selenium2.44.0(最新) Firefox 35.0(最新) python 2.7.6 请注意,如果我要在Chrome中进行类似操
问题内容: 我正在浏览一个Web应用程序,如果尝试单击某个元素之后才能与之交互,则该Web应用程序通常会引发错误。 使用Selenium WebDriver(java)时,我可以轻松解决此问题: 但是,我试图使用Selenium类型库在VBA中编写脚本,尽管尝试了许多不同的方法,但我唯一的成功是: 有人告诉我,应该尽可能避免这样做。如果有人可以建议如何将Java转换为VBA或提供任何其他解决方案,
问题内容: 我必须登录SnapSurveys并每月下载20多个文件。现在已经是一个繁琐的过程,现在我必须每周执行一次,而手工完成将变得很繁琐,所以我想实现它的自动化并安装了Selenium来做到这一点。我已经使用SeleniumIDE(在FireFox中)跟踪了整个过程,所以我知道我想做的事情以及如何做的基础知识,但是,我遇到了一个难以理解的砖墙,试图理解该网页。实现它的结构。 使用Chrome和
我想通过在selenium webdriver中按键盘键Ctrl打开chrome浏览器控制台。我可以使用Robot类来做这个动作,但我希望没有Robot类。我使用了Actions类和Keys类,使用的是sendKeys。但我无法打开浏览器控制台。 是chrome浏览器版本问题还是操作系统问题?为什么浏览器控制台没有使用Action类和Keys类打开?
我试图用Python通过Selenium打开firefox控制台。如何使用python Selenium打开firefox控制台?有没有可能把钥匙发给司机或者类似的东西?
硒的功能在哪里? 我在某个地方读到,语言绑定或API提供了胶水代码,以便在Java中使用Selenium。 胶合代码或绑定代码:连接不兼容的软件组件的代码。 null