Closed GoogleCodeExporter closed 9 years ago
What error do you get? You can find the description in Control Panel>System and
Security>Administrative Tools>Event Viewer
Do you have only one version of Excel installed?
Does it crash with the reference added manually to a new workbook or with one
of the provided workbook?
Does it work with the provided VBS or is it specific to Excel and VBE?
Original comment by florentbr
on 3 Oct 2014 at 2:26
I fixed it by going into my references in VBS and reselecting the Selenium Type
Library in the browse feature. I am however having an issue when I try to open
a second browser using the same Web Driver. The second Web Driver throws an
exception where the first worked perfectly.
Original comment by will...@hyperxmedia.com
on 3 Oct 2014 at 3:47
I'm aware of this issue. It sometimes happens with workbooks created with the
previous version.
I suspect that Excel is keeping a temporary compilation of the Workbook.
Regarding the multi-browsing I couldn't reproduce the issue:
Sub testMultiBrowser()
Dim wd1 As New Webdriver
wd1.Start "ff", "https://fr.yahoo.com"
wd1.Open "/"
Dim wd2 As New Webdriver
wd2.Start "ff", "https://news.google.co.uk"
wd2.Open "/"
End Sub
Do you have an example to reproduce it?
Original comment by florentbr
on 9 Oct 2014 at 5:46
This happens when you declare the webdriver as a global variable and try to
open two different browsers with it.
Does that make sense?
Dim selenium As New SeleniumWrapper.WebDriver
Dim keys As New SeleniumWrapper.keys
Dim xml1 As String
Dim MyData As DataObject
Dim RescueDate As String
Dim GlobalCurrent As String
Dim TimeToRun
Dim TodayS As String
Sub StartAutoTimeInput()
Call OpenResueProjectEnter
End Sub
Sub OpenRescueProjectEnter()
On Error GoTo x
TodayS = Format(Date$, "YYYYMMDD")
TerminateProcess ("firefox.exe")
selenium.stop
selenium.Start "firefox", "https://www.rescuetime.com/"
selenium.setImplicitWait 10000
selenium.Open "https://www.rescuetime.com/google/login?return_to=%2Fdashboard"
selenium.Type "id=email", "@hyperxmedia.com"
selenium.clickAndWait "name=button"
selenium.Type "id=Email", "William@hyperxmedia.com" GET'S STUCK HERE ON SECOND RUN...
selenium.Type "id=Passwd", "xxxxxxx"
selenium.clickAndWait "id=signIn"
Call findActiveProjectsToday
selenium.Open "https://www.rescuetime.com/browse/documents/by/hour/for/the/day/of/" & TodayS & "?project_id=0"
selenium.SendKeys keys.Control, "t"
selenium.Open "https://www.rescuetime.com/projects/editor"
selenium.selectAndWait "id=add_project_id", "label=Stand Up"
For Each i In FoundProjects
selenium.selectAndWait "id=add_project_id", "label=" & i
Next i
x:
Call ActivateChrome
End Sub
Sub ActivateChrome()
On Error GoTo x
selenium.SendKeys keys.Control, "1"
Call findActiveProjectsToday
selenium.SendKeys keys.Control, "2"
selenium.Open "https://www.rescuetime.com/projects/editor"
selenium.selectAndWait "id=add_project_id", "label=Stand Up"
For Each i In FoundProjects
selenium.selectAndWait "id=add_project_id", "label=" & i
Next i
AppActivate "Mozilla Firefox"
Call ScheduleCopyPriceOver
x:
End Sub
Original comment by will...@hyperxmedia.com
on 9 Oct 2014 at 10:30
I wouldn't recommend to reuse a WebDriver instance after calling "stop" it.
You should declare globally the webdriver variable:
Dim selenium As SeleniumWrapper.Webdriver
and create a new instance for each "start" call in your sub:
If Not selenium Is Nothing Then selenium.stop
Set selenium = New SeleniumWrapper.Webdriver
selenium.Start "firefox", "https://www.rescuetime.com/"
What error do you get and have checked manually that the field with id "Email"
is present on the page at the second run?
Original comment by florentbr
on 10 Oct 2014 at 9:38
It was doing this before I called stop. I added stop to see if I could get it
to work again.
So you recommend declaring the variable within the sub as well as globally?
When I get to email it just says it's thrown a driver exception. Nothing
specific.
I want it to open a Firefox browser and then leave it open while I open another
one to check into more data.
Original comment by will...@hyperxmedia.com
on 10 Oct 2014 at 4:08
> So you recommend declaring the variable within the sub as well as globally?
I recommend to declare the variable globally, but to instantiate it (New
keyword) in the Sub just before the start command.
I've been able to reproduce the issue and found out that a bug is making all
the Selenium 1 commands failing after a second start on the same instance. So a
workaround would be to use like I wrote previously one instance for each start
command:
Dim wd As SeleniumWrapper.WebDriver 'Global declaration
Sub init()
If Not wd Is Nothing Then wd.stop 'Stops the browser if the instance was started
Set wd = New SeleniumWrapper.WebDriver 'Creates the instance
wd.start...
End Sub
Or to use two instances:
Dim wd1 As SeleniumWrapper.WebDriver 'Global declaration 1
Dim wd2 As SeleniumWrapper.WebDriver 'Global declaration 2
Sub init()
Set wd1 = New SeleniumWrapper.WebDriver 'Creates the instance 1
Set wd2 = New SeleniumWrapper.WebDriver 'Creates the instance 2
wd1.start...
wd2.start...
test wd1
test wd2
End Sub
Sub test(wd as WebDriver)
wd.open "..."
wd.findElementById("...").click
....
End Sub
Original comment by florentbr
on 14 Oct 2014 at 2:24
Great.
The first recommendation actually started working for me when I did this.
Dim selenium As New SeleniumWrapper.WebDriver 'WEBDRIVER MUST BE SET UP AS
GLOBAL AND RESET BELOW TO WORK IN TWO SUBS.
Dim keys As New SeleniumWrapper.keys
Dim xml1 As String
Dim MyData As DataObject
Dim RescueDate As String
Dim GlobalCurrent As String
Dim TimeToRun
Dim TodayS As String
Sub OpenRescueProjectEnter()
On Error GoTo x
TodayS = Format(Date$, "YYYYMMDD")
Set selenium = New SeleniumWrapper.Webdriver 'WEBDRIVER MUST BE SET UP AS GLOBAL AND RESET HERE TO WORK.
selenium.Start "firefox", "https://www.rescuetime.com/"
selenium.setImplicitWait 10000
selenium.Open "https://www.rescuetime.com/google/login?return_to=%2Fdashboard"
selenium.Type "id=email", "@hyperxmedia.com"
selenium.clickAndWait "name=button"
selenium.Type "id=Email", "William@hyperxmedia.com"
selenium.Type "id=Passwd", "xxxxxxx"
selenium.clickAndWait "id=signIn"
Call findActiveProjectsToday
selenium.Open "https://www.rescuetime.com/browse/documents/by/hour/for/the/day/of/" & TodayS & "?project_id=0"
selenium.SendKeys keys.Control, "t"
selenium.Open "https://www.rescuetime.com/projects/editor"
selenium.selectAndWait "id=add_project_id", "label=Stand Up"
For Each i In FoundProjects
selenium.selectAndWait "id=add_project_id", "label=" & i
Next i
x:
Call ActivateChrome
End Sub
Sub ActivateChrome()
On Error GoTo x
selenium.SendKeys keys.Control, "1"
Call findActiveProjectsToday
selenium.SendKeys keys.Control, "2"
selenium.Open "https://www.rescuetime.com/projects/editor"
selenium.selectAndWait "id=add_project_id", "label=Stand Up"
For Each i In FoundProjects
selenium.selectAndWait "id=add_project_id", "label=" & i
Next i
AppActivate "Mozilla Firefox"
Call ScheduleCopyPriceOver
x:
End Sub
Original comment by will...@hyperxmedia.com
on 14 Oct 2014 at 3:38
Fixed in v1.0.21.1
Original comment by florentbr
on 14 Oct 2014 at 5:08
Original issue reported on code.google.com by
will...@hyperxmedia.com
on 30 Sep 2014 at 5:30