-
Recently Browsing 0 members
No registered users viewing this page.
-
Similar Content
-
By ashraful089
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=C:\Users\Engr. Ashraful\Videos\koda_1.7.3.0\Forms\ProgramPlayer\FormProgamToOpen.kxf
$FormInput = GUICreate("Input", 302, 205, 454, 285)
$Resolution = GUICtrlCreateCombo("Resolution", 80, 24, 145, 25)
GUICtrlSetData(-1, "1920|VM1920|1366")
$ComboProgramType = GUICtrlCreateCombo("Program Type Selection", 80, 64, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "Multimedia|Official|Design|Web")
$ButtonEnter = GUICtrlCreateButton("Enter", 104, 104, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
please help me to read combo box input and use the value for another function/ work
-
By Aapjuh
Hi,
I am having a problem properly saving the Width of a resizable Gui.
When a user resizes the Gui it gets saved in an ini when the Gui closes to then restore the new Width upon reopening the app.
with GUICreate("myGui",300,200,Default,Default,$WS_SIZEBOX)
WinGetPos($hGUI) returns 314, and WinGetClientSize($hGUI) returns 298
when its then saved in the ini the gui keeps expanding or shrinking every time its opened by +14 or -2
I figure it has to do with borders etc, but i also guess borders depend on the window theme and whatnot or is user specific, so i can't just do $GuiWidth = $GetGuiWidth[arr] -14 or +2 right?
is there a proper way of doing this?
Thanks in advance,
Aapjuh
-
By It_is_me_Me
I have provided a portion of my script (seen below) and I wanted to use what the USER will input into my IP address box and input box for TCP port. I set the IP address to use 0.0.0.0 as default and the Port to 502. But I want to let the user change it and when they click the buttons (IP Address and Port), the tooltip will show what the USER entered. How can I use the details that the User will input into my input box and IP address box and let them see what they entered when they click the buttons?
Here are the scripts:
;-------------------------------------------------------------
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiIPAddress.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiEdit.au3>
#include <MsgBoxConstants.au3>
#include <Date.au3>
#include <TabConstants.au3>
#include <GuiTab.au3>
Global $Form1 = GUICreate("Security Automation", 490, 339, -1, -1)
;MAIN Tab
Global $TAB = GUICtrlCreateTab(0, 0, 489, 337)
Global $tab_main = GUICtrlCreateTabItem("Main")
$label_Title = GUICtrlCreateLabel("ETP-073 Security", 12, 33, 103, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
;-----------------TCP User input information-------------------------------------------------------------------------------
$groupBox_TCP = GUICtrlCreateGroup("TCP", 12, 49, 289, 57, BitOR($GUI_SS_DEFAULT_GROUP,$BS_FLAT))
;TCP IP address
Global $IPAddress1 = _GUICtrlIpAddress_Create($Form1, 20, 81, 170, 21)
$Label_ipAddress = GUICtrlCreateLabel("Host IP Address", 20, 65, 80, 17)
$userInputIP = _GUICtrlIpAddress_Set($IPAddress1, "0.0.0.0")
;TCP Port
$label_tcpPort = GUICtrlCreateLabel("Port", 196, 65, 23, 17)
Global $input_tcpPort = GUICtrlCreateInput("502", 196, 81, 57, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
$userPort = GUICtrlRead($input_tcpPort)
;TCP Address
$label_tcpAddress = GUICtrlCreateLabel("Addr.", 260, 65, 29, 17)
Global $input_tcpDevAddress = GUICtrlCreateInput("1", 260, 81, 33, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
;Buttons
Global $btn_userIP = GUICtrlCreateButton("User IP", 308, 297, 81, 25)
Global $btn_Port = GUICtrlCreateButton("Port", 404, 297, 75, 25)
;Showing the GUI
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $btn_userIP
ToolTip($userInputIP)
Case $btn_Port
ToolTip($userPort)
EndSwitch
WEnd
;--------------end of script ------------------
Note: There will be a "!->Includefile <WMDebug.au3> not found." Pay no attention to it.
-
By noellarkin
This is for those pages that seem to load when you use _FFOpenURL(), but they have a text saying "please wait while we load your page..." but according to _FFOpenURL() the page has loaded. An example seen in popular sites is the Cloudflare page saying "Checking your browser before...". It's the opposite of pausing a script until an element is visible on a page. It takes Elements in the form of id, xpath or text search.
Global $BrowserPort = 4242 Global $TimeOut = 60000 Global $LocalHost = "127.0.0.1" Func _FFWaitWhileElement($thiselement, $elementtype = "xpath", $timeoutms = 60000) _FFConnect($LocalHost, $BrowserPort, $TimeOut) Local $Element Local $ElementFound = 1 Local $TimeoutCountdown = 0 While $ElementFound <> 0 And $TimeoutCountdown < $timeoutms If $elementtype = "xpath" Then $Element = _FFXPath($thiselement) EndIf If $elementtype = "id" Then Local $ConstructXPath = ".//*[@id='" & $thiselement & "']" $Element = _FFXPath($ConstructXPath) EndIf ; MsgBox(0, "", $Element) Local $ElementXPathTextContent = _FFCmd("FFau3.xpath.textContent") ; MsgBox(0, "", $ElementXPathTextContent) Local $ElementXPathInnerHTML = _FFCmd("FFau3.xpath.innerHTML") ; MsgBox(0, "", $ElementXPathInnerHTML) If $ElementXPathTextContent = "_FFCmd_Err" Or $ElementXPathInnerHTML = "_FFCmd_Err" Then $ElementFound = 0 Else $ElementFound = 1 EndIf If $elementtype = "text" Then $ElementFound = _FFSearch($thiselement) ; MsgBox(0, "", $ElementFound) EndIf $TimeoutCountdown += 1000 _FFDisConnect() _FFConnect($LocalHost, $BrowserPort, $TimeOut) WEnd Return $ElementFound EndFunc _FFConnect($LocalHost, $BrowserPort, $TimeOut) _FFOpenURL("https://www.site.com/page", True) _FFWaitForElement("Please Wait...","text", 60000) MsgBox(0,"","Page finished loading") It's pretty simple, hope it helps some of you who are working with FF.au3 :)
-
By noellarkin
So I was trying to write a function that can find a button (or any other XPath Element) and scroll the page + move the mouse to the location of the button.
My logic for this was:
1. get position of button using _FFGetPosition
2. get inner dimensions of browser window and total dimensions of page
3. divide total dimensions by inner dimensions to get number of page down operations
4. use Mod() to get remaining pixels offset
5. MouseMove() and add requisite offsets for Titlebar etc (what the +5 and +54 is for in the last line)
Example Code:
_FFConnect($LocalHost, $BrowserPort, $TimeOut) Local $Button = _FFXPath(".//*[@id='thisbutton']") Local $ButtonPosition = _FFGetPosition($Button) Local $ElementWidth = $ButtonPosition[0] Local $ElementHeight = $ButtonPosition[1] Local $InnerWidth = _FFCmd("window.content.innerWidth") Local $InnerHeight = _FFCmd("window.content.innerHeight") Local $PageWidth = _FFCmd(".body.offsetWidth") Local $PageHeight = _FFCmd(".body.offsetHeight") Local $PGDNNo = Int($ElementHeight/$InnerHeight) Local $PGDNMod = Mod($ElementHeight, $InnerHeight) ; MsgBox(0,"","$ElementX: " & $ElementWidth & @CRLF & "$ElementY: " & $ElementHeight) ; MsgBox(0,"","$InnerWidth: " & $InnerWidth & @CRLF & "$InnerHeight: " & $InnerHeight) ; MsgBox(0,"","$PageWidth: " & $PageWidth & @CRLF & "$PageHeight: " & $PageHeight) ; MsgBox(0,"",$PGDNNo) ; MsgBox(0,"",$PGDNMod) Local $iter = 1 While $iter <= $PGDNNo WinActivate($BrowserWindowClass,"") _FFCmd("window.content.scrollByPages(1)") $iter += 1 WEnd MouseMove($ElementWidth + 5, $PGDNMod + 54) This isn't working. In some cases, it's not doing the page down operation the number of times needed, or not accurately pinpointing the location. I think there may be something wrong with the logic I'm using. What am I doing wrong?
Thanks.
-
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now