Sign in to follow this  
Followers 0
darkmaster071

IE freezing randomly

8 posts in this topic

Ive made a script that automates IE and ive found out that it is randomly freezeing the ie instance. It pretty much makes my script useless now so i really really want a solution... So ive got _iecreate, navigate, propertyget, bodyreadhtml, loadwait... Is there anything that is known to cause problems? Or what can i try to fix the freezing. Any help greatly appreciated.

Share this post


Link to post
Share on other sites



Maybe start with determining which function makes it freeze by doing some debugging and then post some replication script for people to look at.


Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

It may be that the page is not fully loaded and so the _IELoadWait() function, either called by you or internally, suspends your script for (default = 300000 ms aka 5 min), Windoze ;]

Edited by Authenticity

Share this post


Link to post
Share on other sites

It may be that the page is not fully loaded and so the _IELoadWait() function, either called by you or internally, suspends your script for (default = 300000 ms aka 5 min), Windoze ;]

You may be right because the last ie function called before freezing is _IELoadWait() and after that its some lines of resetting the connection. If it is loadwait what can i do about it?

Share this post


Link to post
Share on other sites

Reduce it's timeout value from 5 minutes to something more suiting your needs.

Share this post


Link to post
Share on other sites

Unfortunatly that didnt work as i dont think you got my explanation right Authenticity. Ive said it freezes the IE instance (picture stays still, i cant click nothing and then a Not responding msg appears) not that it pauses the script. Also i think ive cought the script freeze ie right when the connection connects again and the loop closes. Maybe that could cause something? I really need a solution...

Share this post


Link to post
Share on other sites

post your code?

Share this post


Link to post
Share on other sites

Ive tried some tips of Ie crashing like reseting and deleting addons and stuff. Nothing worked. Heres my code:

CODE
#include <IE.au3>

Global $Paused

HotKeySet("{PAUSE}", "TogglePause")

HotKeySet("{ESC}", "Terminate")

HotKeySet("{F8}", "WriteUsername")

$usernamecounter=IniRead("drek.ini", "usernames", "Counter", "0")

$reza=0

While 1

$textcheck=0

While $textcheck = 0

If $omfg=0 Then

$var= _IECreate("website", 0, 1, 1, 0)

$hIE = _IEPropertyGet($var, "hwnd")

WinSetState($hIE, "", @SW_MAXIMIZE)

Else

_IENavigate($var, "website", 1)

EndIf

$omfg=1

$source = _IEBodyReadHTML($var)

$textcheck=StringInStr($source, "string")

WEnd

$iLen = 12

$sStr = ""

Do

$sHold = Chr(Random(48, 122, 1))

If StringRegExp($sHold, "(?i)[a-z0-9]") Then $sStr &= $sHold

Until StringLen($sStr) = $iLen

Sleep(1000)

ControlClick("window - Windows Internet Explorer", "", "Internet Explorer_Server1", "left", 1, 328, 286)

AutoItSetOption("SendKeyDelay", 70)

ControlSend("window - Windows Internet Explorer", "", "Internet Explorer_Server1", $sStr)

ControlClick("window - Windows Internet Explorer", "", "Internet Explorer_Server1", "left", 1, 328, 546)

_IELoadWait($var)

$usernamecounter = $usernamecounter + 1

IniWrite("drek.ini", "usernames", "Counter", $usernamecounter)

IniWrite("drek.ini", "usernames", $usernamecounter, $sStr)

Sleep(5000)

$connect1 = _GetNetworkConnect()

While $connect1 = "WAN connected"

$disconnect=Run("siol_disconnect.bat", "", @SW_MINIMIZE)

ProcessWaitClose("cmd.exe")

Sleep(2000)

$connect1 = _GetNetworkConnect()

WEnd

While $connect1 <> "WAN connected"

$connect=Run("siol_connect.bat", "", @SW_MINIMIZE)

ProcessWaitClose("cmd.exe")

Sleep(2000)

$connect1=_GetNetworkConnect()

WEnd

;;somewhere here it hangs ie

WEnd

Func TogglePause()

$Paused = NOT $Paused

While $Paused

sleep(100)

ToolTip('Script is "Paused"',0,0)

WEnd

ToolTip("")

EndFunc

Func Terminate()

Exit 0

EndFunc

Func WriteUsername()

$fakcounter=IniRead("neki.ini", "usernames", "Counter", "0")

$fakcounter=$fakcounter+1

IniWrite("neki.ini", "usernames", $fakcounter, $sStr)

IniWrite("neki.ini", "usernames", "Counter", $fakcounter)

EndFunc

Func _GetNetworkConnect()

Local Const $NETWORK_ALIVE_WAN = 0x2 ;RAS (internet) connection

Local $aRet, $iResult

$aRet = DllCall("sensapi.dll", "int", "IsNetworkAlive", "int*", 0)

If BitAND($aRet[1], $NETWORK_ALIVE_WAN) Then $iResult &= "WAN connected"

Return $iResult

EndFunc

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  
Followers 0