Jump to content
Sign in to follow this  
Pao

Autoit and Firefox 54 e10s

Recommended Posts

Hello, I've recently updated from Firefox 50 to 54.0.1.

My Autoit script that previously worked fine, now seems to have erratic problems.
It's almost as if some Send() commands are sometimes skipped when dealing with the Firefox UI (it's still mostly fine on the actual pages).

To temporarly fix the problem, I had to put some Sleep(200) pauses and avoid grouping keys together (e.g: TAB 2), but I'm not exactly sure about the correct way to deal with this..

Could this be caused by the new multiprocess feature? (e10s)
Are there better Autoit commands or rules that I should use?

 

Edited by Pao

Share this post


Link to post
Share on other sites

@Pao it is a bit difficult to help you troubleshoot a script when you post nothing. How about posting your code (or a reproducer that shows the issue you're encountering), help us help you ;)

 


"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Share this post


Link to post
Share on other sites

Eh.. well, I was curious if someone else encountered this issue before.
I can't exactly show you a meaningful example,  because the script operates on forms in an admin webpage.

I don't know if this piece of code will be useful at all, but I had to change this:

Send("{CTRLDOWN}k{CTRLUP}")
Send("{TAB 3}{DOWN " & $eventnum & "}{TAB}{SPACE}")

Into this (quick&dirty workaround):

Send("{CTRLDOWN}k{CTRLUP}")
Sleep(200)
Send("{TAB}")
Sleep(200)
Send("{TAB}")
Sleep(200)
Send("{TAB}")
Sleep(200)
Send("{DOWN " & $eventnum & "}")
Sleep(200)
Send("{TAB}")
Send("{SPACE}")

(I'll have to test it further, though)
 

Edited by Pao

Share this post


Link to post
Share on other sites

"weird colors" is called syntax highlighting, the same as you would get in the SciTE console. Secondly, we understand that you can't always post code that contains sensitive information, which is why we ask for a reproducer. It also helps you narrow down the issue - e.g. is this only happening on your admin webpage, or on another webpage you try to manipulate? 


"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Share this post


Link to post
Share on other sites
57 minutes ago, JLogan3o13 said:

"weird colors" is called syntax highlighting, the same as you would get in the SciTE console.

Sorry, I edited out that phrase before your reply.
I know about syntax highlighting, but the colors were basically random before. O_o
Then they went ok after posting.

(it happens again if I try to add that code inside the tag)

Edited by Pao

Share this post


Link to post
Share on other sites
1 hour ago, JLogan3o13 said:

we ask for a reproducer. It also helps you narrow down the issue - e.g. is this only happening on your admin webpage, or on another webpage you try to manipulate? 

Those forms are only on the admin pages.
I'll have to look for other places to reproduce this error.
I'll let you know..
 

Btw my script now sometimes works and sometimes fails.. :blink:

Edited by Pao

Share this post


Link to post
Share on other sites

Ok nevermind, it seems that the new Firefox UI is simply just slower than before.
Adding Sleep(100) after each command seems the only way to get consistent results.

Example:
in FF50 this moved the focus on the search bar (CTRL+K), then on the tab bar, then on the page area, then went to the top of the current page.

Send("{CTRLDOWN}k{CTRLUP}{TAB 2}{HOME}")

Now, in FF54, sometimes TAB is registered instead of TAB2, causing the focus to stop at the tab bar and thus moving to the first one after HOME.
This seems to work correctly, instead:

Send("{CTRLDOWN}k{CTRLUP}")
Sleep(100)
Send("{TAB}")
Sleep(100)
Send("{TAB}")
Sleep(100)
Send("{HOME}")

Problem solved, I guess.

 

 

 

Edited by Pao

Share this post


Link to post
Share on other sites

First, I made sure that my FF is configured to not automatically take updates.

  1. about:preferences#advanced
  2. Update tab
  3. The only thing ticked is "Never check for updates"

Then I installed FF v53 32-bit (44MB) on my Win7 64bit PC. Installing FF v53 64-bit didn't work with FF.au3. I presume because I run my scripts in 32-bit mode.

All my scripts using FF.au3 work again.

Edited by Decibel

Share this post


Link to post
Share on other sites

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
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By FUD
      hello 
      please i need help 
      i need to open link in default browser only one windows without duplicate if i try to open the same link 
       
      thanks 
    • By picorico2
      Hi all, 
       
      I´m trying to use the command "WD_LoadWait" because I want to pause the script until the web page fully loads in Firefox but I don´t know how to use it.
      Here´s the full help
      ; #FUNCTION# ==================================================================================================================== ; Name ..........: _WD_LoadWait ; Description ...: Wait for a browser page load to complete before returning ; Syntax ........: _WD_LoadWait($sSession[, $iDelay = 0[, $iTimeout = -1[, $sElement = '']]]) ; Parameters ....: $sSession - Session ID from _WDCreateSession ; $iDelay - [optional] Milliseconds to wait before checking status ; $iTimeout - [optional] Period of time to wait before exiting function ; $sElement - [optional] Element ID to confirm DOM invalidation ; Return values .: Success - 1 ; Failure - 0 and sets the @error flag to non-zero ; Author ........: Dan Pollak ; Modified ......: ; Remarks .......: ; Related .......: ; Link ..........: ; Example .......: No ; =============================================================================================================================== Func _WD_LoadWait($sSession, $iDelay = Default, $iTimeout = Default, $sElement = Default) Local Const $sFuncName = "_WD_LoadWait" Local $iErr, $sResponse, $oJSON, $sReadyState   If $iDelay = Default Then $iDelay = 0 If $iTimeout = Default Then $iTimeout = $_WD_DefaultTimeout If $sElement = Default Then $sElement = ""   If $iDelay Then Sleep($iDelay)   Local $hLoadWaitTimer = TimerInit()   While True If $sElement <> '' Then _WD_ElementAction($sSession, $sElement, 'name')   If $_WD_HTTPRESULT = $HTTP_STATUS_NOT_FOUND Then $sElement = '' Else $sResponse = _WD_ExecuteScript($sSession, 'return document.readyState', '') $iErr = @error   If $iErr Then ExitLoop EndIf   $oJSON = Json_Decode($sResponse) $sReadyState = Json_Get($oJSON, "[value]")   If $sReadyState = 'complete' Then ExitLoop EndIf   If (TimerDiff($hLoadWaitTimer) > $iTimeout) Then $iErr = $_WD_ERROR_Timeout ExitLoop EndIf   Sleep(100) WEnd   If $iErr Then Return SetError(__WD_Error($sFuncName, $iErr, ""), 0, 0) EndIf   Return SetError($_WD_ERROR_Success, 0, 1) EndFunc
       
      Any sugestions or examples?
    • By water
      Internet Explorer is nearly dead, newer versions of Firefox can't any longer be automated using Stilgar's FF UDF.
      Hence more and more users (including me) need to look at automating Webbrowsers using WebDriver.
      That's why I have started to create a tutorial in the wiki.
      It should describe all necessary steps from intallation to usage.

      I'm still collecting ideas for the tutorial - that's where you come into play.
      What do you expect to see in such a tutorial?
      Which browsers should be covered (Firefox, Chrome and Edge are settled)? Any questions for the FAQ? Which (high level) coding examples do you expect (like "How to attach to a running browser instance") ... Like to see your comments
       
      ToDo-List:
      Add "Tools" section and add ChroPath plugin. Done. FAQ: "How to attach to a running browser instance". Done. Explain the difference between iuiautomation, iaccessible, autoit, webdriver. Done. The AutoIt FAQ 40 has been extended. Detailed description of each function. Done Example for "how to deal with downloading". Use function _WD_DownloadFile. Example for "how to deal with popups (alerts, print or save dialog). Use function_WD_AlertRespond to respond to a user prompt. Example for "how to deal with multiple tabs". Use functions _WD_NewTab (create a new tab), _WD_Window (close or switch to a tab) and _WD_Attach (attach to existing tab).
    • By ThePoro
      Hi everyone.
      I want to ask about this : 
      I want it runs from 1 to 100 and It opens 10 firefox profiles then access youtube. After I close a firefox window, the loop runs and wait for another window close until loop ends
      I have a loop like this.
      Func launch() Local $from = Int(GUICtrlRead($input1)) Local $to = Int(GUICtrlRead($input2)) If $to <> "" Then While $from <= $to Local $profile = $to _RunDos("start firefox.exe -p " & $profile & " -no-remote youtube.com") $to=$to+1 WEnd Else Local $profile = $to _RunDos("start firefox.exe -p " & $profile & " -no-remote youtube.com") EndIf EndFunc Is there any solution?
      Thank you!
    • By nooneclose
      my FF.au3 does get included but my script does not open firefox. 
      here is my code so far:
      #include <FF.au3> _FFStart("https://www.google.com", Default, 0) I am using firefox portable version 52.0 Any and all help would be greatly appreciated.  
      The code runs but nothing happens. I think the FF.au3 cannot find or connect to the firefox portable.  
×
×
  • Create New...