From 0e02ae24bd4d909df30a58ba61693cef321fcaaa Mon Sep 17 00:00:00 2001 From: Yuriy Date: Thu, 9 May 2024 21:48:29 -0400 Subject: [PATCH] small bug fixes and improvements --- Selenium-Functions.ahk | 52 +++++++++++++++++++++++++----------------- 1 file changed, 31 insertions(+), 21 deletions(-) diff --git a/Selenium-Functions.ahk b/Selenium-Functions.ahk index 4a7fb57..5d1fd69 100644 --- a/Selenium-Functions.ahk +++ b/Selenium-Functions.ahk @@ -722,7 +722,7 @@ Selenium_LoopToSendValueByName(ElementName,NumOfLoops:=1,SleepLength:=1000,Strin Selenium_LoopToSendValueToXpath(Xpath,NumOfLoops:=1,SleepLength:=1000,StringTextContent:="",ClearElement:=0){ ; Msgbox % "StringTextContent: " StringTextContent -; Msgbox % "ClearElement: " ClearElement + ; Msgbox % "ClearElement: " ClearElement loop, %NumOfLoops% { ; msgbox % ClearElement @@ -790,17 +790,27 @@ Selenium_LoopToClickXpathAndWaitForOpenWindow(Xpath,NumOfLoops:=1,SleepLength:=1 } -Selenium_LoopToClearXpath(Xpath,NumOfLoops:=1,SleepLength:=1000){ - loop, %NumOfLoops% { +Selenium_LoopToClearXpath(Xpath,NumberOfAttemps:=1,SleepLength:=1000){ + loop, %NumberOfAttemps% { + try driver.FindElementByXPath(Xpath).clear() catch e { - if(A_index = NumOfLoops){ - Return "Failed" - } - sleep, %SleepLength% - Continue + Return "Failed" } - Return + + sleep, %SleepLength% + + try, InerText := driver.findelementbyxpath(Xpath).Attribute("value") + ; Msgbox % "InerText: " InerText + if(InerText = "") + return + + if(A_index = NumberOfAttemps){ + return "Failed after %NumberOfAttemps" + } + + Continue + ; Return } } @@ -834,26 +844,26 @@ SaveDriverURLOFErrorPage(){ ; save the url of the result page. That way if a tab GetHTMLValueFromXpathOuterHTML(XPATH, HTMLElementName){ -Try ElementOuterHTML := driver.findelementbyxpath(Xpath).Attribute("outerHTML") ;XPATH-ID & Tag -; try Clipboard := driver.findelementbyxpath(Xpath).Attribute("outerHTML") ;XPATH-ID & Tag -; Try MsgBox,,Element OuterHTML: `n, % driver.findelementbyxpath(Xpath).Attribute("outerHTML") ;XPATH-ID & Tag + Try ElementOuterHTML := driver.findelementbyxpath(Xpath).Attribute("outerHTML") ;XPATH-ID & Tag + ; try Clipboard := driver.findelementbyxpath(Xpath).Attribute("outerHTML") ;XPATH-ID & Tag + ; Try MsgBox,,Element OuterHTML: `n, % driver.findelementbyxpath(Xpath).Attribute("outerHTML") ;XPATH-ID & Tag -; Match string between quotes following the HTMLELEMENTNAME -RegexStatement = %HTMLElementName%="([^"]+)" + ; Match string between quotes following the HTMLELEMENTNAME + RegexStatement = %HTMLElementName%="([^"]+)" ; regexMatch := RegExMatch(ElementOuterHTML, "value=""([^""]+)""", match) regexMatch := RegExMatch(ElementOuterHTML, RegexStatement, match) if (regexMatch) { - ElementValue := match1 - ; Msgbox % "PostURL: " PostURL - ; Message = URL Pulled out from OuterHTML: %PostURL% - Return ElementValue + ElementValue := match1 + ; Msgbox % "PostURL: " PostURL + ; Message = URL Pulled out from OuterHTML: %PostURL% + Return ElementValue } else { - Message = Failed to Pull out value from OuterHTML - SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") - Return "Failed" + Message = Failed to Pull out value from OuterHTML + SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") + Return "Failed" } }