Jump to content

Recommended Posts

Posted
  On 9/17/2018 at 12:59 PM, Danp2 said:

The console should be hidden in the current implementation as long as $_WD_DEBUG <> $_WD_DEBUG_Info.

Did this not work for you? Or did you want full debugging but without the console visible?

Expand  

Didn't realize there was a new version out there.  I was still on V0.1.0.13.  Just updated and you are correct, that does hide when I used the $_WD_DEBUG = $_WD_DEBUG_None

 

Posted
  On 9/17/2018 at 1:46 PM, Danp2 said:

I haven't experienced this, I'm guessing because I do most of my testing with FF. How would I best observe this scenario?

Expand  

You wouldn't notice unless you looked in the task manager.

I updated the post above to just have the example to show closing spawned chrome processes, so if you run it as-is it will close once finished and there will be no chrome.exe's left in the task manager.

If you put in the _WD_Shutdown()

and comment out the 

;New section since Chromedriver and chrome windows werent closing
;$aSpawnedChildren = _ProcessGetChildren($iPID)          ;Get all processes spawned directly from the Chromedriver.exe
;ProcessClose($iPID)                                                         ;Close the Chromedriver.exe
;For $x = 0 to UBound($aSpawnedChildren) - 1                 ;Move through every child process
;    ProcessClose($aSpawnedChildren[$x][0])                      ;Close the child process
;Next

 

after the script is finished, when you look into the task manager, there will most likely be a few chrome.exe's left open.

Posted (edited)

I am getting an error 

_WD_Startup ==> General Error: Error launching web driver!

Chrome driver chromedriver.exe had been saved into C:\Program Files (x86)\AutoIt3 directory which is mentioned in PATH system veriable. Also the driver could be successfuly launched from cmd window.

Edited by Vitaliy4us
  • 2 weeks later...
Posted
  On 1/17/2018 at 11:14 PM, Danp2 said:

Introduction

This UDF will allow you to interact with any browser that supports the W3C WebDriver specifications. Supporting multiple browsers via the same code base is now possible with just a few configuration settings.

Requirements

Function List

Core Functions

  • _WD_CreateSession($sDesiredCapabilities='{}')
  • _WD_DeleteSession($sSession)
  • _WD_Status()
  • _WD_Timeouts($sSession, $sTimeouts = '')
  • _WD_Navigate($sSession, $sURL)
  • _WD_Action($sSession, $sCommand)
  • _WD_Window($sSession, $sCommand, $sOption = '')
  • _WD_FindElement($sSession, $sStrategy, $sSelector, $sStartElement = "", $lMultiple = False)
  • _WD_ElementAction($sSession, $sElement, $sCommand, $sOption='')
  • _WD_ExecuteScript($sSession, $sScript, $sArguments="[]")
  • _WD_Alert($sSession, $sCommand, $sOption = '')
  • _WD_GetSource($sSession)
  • _WD_Cookies($sSession, $sCommand, $sOption = '')
  • _WD_Option($sOption, $vValue = "")
  • _WD_Startup()
  • _WD_Shutdown()

Helper Functions

  • _WD_NewTab($sSession, $lSwitch = True)
  • _WD_Attach($sSession, $sString, $sMode = 'title')
  • _WD_LinkClickByText($sSession, $sText, $lPartial = True)
  • _WD_WaitElement($sSession, $sElement, $sStrategy, $sSelector[, $iDelay = 0[, $iTimeout = -1]])
  • _WD_LastHTTPResult()
  • _WD_GetFrameCount()
  • _WD_IsWindowTop()
  • _WD_FrameEnter($sIndexOrID)
  • _WD_FrameLeave()
  • _WD_HighlightElement($sSession, $sElement[, $iMethod = 1])
  • _WD_HighlightElements($sSession, $aElements[, $iMethod = 1])
  • WD_LoadWait($sSession, $iDelay = 0, $iTimeout = -1, $sElement = '')

Source Code

You will always be able to find the latest version in the GitHub Repo 

Help / Support

Please post any questions, suggestions or errors in the GH&S thread.

https://www.autoitscript.com/forum/topic/192730-webdriver-udf-help-support/

Expand  

 

Hello, all!

I have not time to study your experiments and bugfixes:--).

I am searching for easy, stable, reliable and ready solution of a very simple problem:

Internet browser (say Chrome) is already open (say on www.dpd.cz/data).

And I need fill-in several fields and send with a button, the browser will stay open.

 My solution with VBS and SendKeys does not work perfectly because of diacritics.

 Thanks!

 

 

 

  • Developers
Posted
  On 10/11/2018 at 9:19 AM, EmilV said:

 

Hello, all!

I have not time to study your experiments and bugfixes:--).

I am searching for easy, stable, reliable and ready solution of a very simple problem:

Expand  

So your question is  .... what exactly? You want us to do the coding for you or something?

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Posted

I feel dumb not being able to find this, but where is webdriver.au3?

  Reveal hidden contents
 
Posted
  On 10/15/2018 at 11:49 AM, Danp2 said:

Click the "Latest version" link in my signature to navigate to the Github site, which is where you will always find the most recent code.

FYI, the file webdriver.au3 no longer exists. It was split into two different files --

  • wd_core.au3 containing the core webdriver functionality
  • wd_helper.au3 containing additional "helper" functions
Expand  

Ah ok. Thanks man!

  Reveal hidden contents
 
Posted

Hello,

I was wondering if _WD_Attach is working and you could actually provide a sane example, because as far as I went it only started me a new window and performed  actions that i have expected. But what I really want is to attach to already existing window with some title like "Google"?

Posted

@Peacelover You haven't really given enough information for us to know how to really help you. In general, you can only attach to a browser that was launched by the web driver. There are some exceptions, and I've started a FAQ entry in the GH Wiki to address this situation.

Here's a revised version of the DemoNavigation function from wd_demo.au3 that demonstrates the use of _WD_Attach --

Func DemoNavigation()
    _WD_Navigate($sSession, "http://google.com")
    _WD_NewTab($sSession)
    _WD_Navigate($sSession, "http://yahoo.com")
    _WD_NewTab($sSession)
    _WD_Navigate($sSession, "http://bing.com")

    ConsoleWrite("URL=" & _WD_Action($sSession, 'url') & @CRLF)
    _WD_Attach($sSession, "google.com", "URL")
    ConsoleWrite("URL=" & _WD_Action($sSession, 'url') & @CRLF)
    _WD_Attach($sSession, "yahoo.com", "URL")
    ConsoleWrite("URL=" & _WD_Action($sSession, 'url') & @CRLF)
EndFunc

HTH, Dan

Posted

Hello Dan,

I apologize for the lack of details, but it seems that you have answered that it is impossible. Tho the fact that if it is ran by the WD it is attachable quite satisfying. Thank you for your work! Really appreciate that!

Posted

Hi Dan,
many years we have  automated our access to various portals with Stilgars FFau3 and MozRepl. Recently we had to switch to FirefoxESR, but that does not work anymore with MozRepl since FF_ESR V60. Now we have found your Webdriver UDF and hope to continue working with it.
Our first problem in wd_demo: 

Firefox starts, but $sSession = _WD_CreateSession ($ sDesiredCapabilities)  always returns "".

We suspect that it's up to the definitions (see below) at SetupGecko or problems with FF Portable.

(Windows8.1, Firefox Portable V62, AutoIt V3.3, Webdriver 0.1.0.15).

_______________________________________________________________________________________________________________

_WD_Option('Driver', 'C:\Portable\PortableApps\FirefoxPortable\geckodriver.exe')
_WD_Option('DriverParams', '--log trace')
_WD_Option('Port', 4444)

$sDesiredCapabilities = '{"desiredCapabilities":{"javascriptEnabled":true,"nativeEvents":true,"acceptInsecureCerts":true,"moz:firefoxOptions":{"binary":"C:\\Portable\\PortableApps\\FirefoxPortable\\FirefoxPortable","args":["-profile","C:\\Portable\\PortableApps\\FirefoxPortable\\Data\\Profile\\"]}}}'

_______________________________________________________________________________________________________________

I am sorry I don't know how to insert the code like the others do ;-)

Thanks for any help.

  • 2 weeks later...
Posted
  On 10/25/2018 at 6:45 PM, Danp2 said:

Hi @HJL,

I believe that your desired capabilities needs adjusted, as the binary option needs to include the executable name as well. FWIW, it didn't work In my brief testing when I used the FirefoxPortable.exe from Portableapps.com. However, I did get it to work by changing to the actual executable found in the App\Firefox64 subdirectory.

Dan

Expand  

Hi Dan, i got the error : _WD_Startup ==> Invalid value: Location for Web Driver not set. this is my very short code: 

#include "wd_core.au3"
#include "wd_helper.au3"


Local $first, $ssession
;~ SetupChrome()
_WD_Startup()
$ssession = _WD_CreateSession($first)
_WD_Navigate($ssession,"")
_WD_Shutdown()

If i enable SetupChrome() then it get error undefined function. Sorry for my bad english and thank you so much for this UDF

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...