RohanM Posted July 13, 2022 Share Posted July 13, 2022 Hi All, I am training to access the button control in webpage which has iframe, I used _WD_FrameEnter method to switch the current content to first frame and tried to get the controls but no luck, can anyone help me? may be I am doing something wrong here since first time I am dealing with iframes. below is the code I tried _WD_Navigate($Session, 'https://ecomm.one-line.com/one-ecom/manage-shipment/cargo-tracking') _WD_LoadWait($Session, Default, 10 * 1000) ConsoleWrite("Frames Count=" & _WD_GetFrameCount($Session) & @CRLF) ConsoleWrite("TopWindow=" & _WD_IsWindowTop($Session) & @CRLF) $sElement = _WD_FindElement($Session, $_WD_LOCATOR_ByXPath, "//iframe[(@id='IframeCurrentEcom')]") _WD_FrameEnter($Session, $sElement) $sButton = _WD_FindElement($Session, $_WD_LOCATOR_ByXPath, "//button[(@id='btnSearch')]") MsgBox(0,'$sButton',$sButton) _WD_ElementAction($Session, $sButton, 'click') _WD_LoadWait($Session, 2000) Link to comment Share on other sites More sharing options...
Danp2 Posted July 13, 2022 Share Posted July 13, 2022 1) You should get in the habit of reviewing the Scite output panel to diagnose why your script isn't behaving as expected. When I did this, I saw that the Frame wasn't being found. 2) You need to wait until the page is fully loaded. I changed your code slightly and it worked correctly for me -- _WD_Navigate($Session, 'https://ecomm.one-line.com/one-ecom/manage-shipment/cargo-tracking') _WD_LoadWait($Session, Default, 10 * 1000) $sXpath = "//iframe[(@id='IframeCurrentEcom')]" _WD_WaitElement($Session, $_WD_LOCATOR_ByXPath, $sXpath) ConsoleWrite("Frames Count=" & _WD_GetFrameCount($Session) & @CRLF) ConsoleWrite("TopWindow=" & _WD_IsWindowTop($Session) & @CRLF) $sElement = _WD_FindElement($Session, $_WD_LOCATOR_ByXPath, $sXpath) _WD_FrameEnter($Session, $sElement) $sButton = _WD_FindElement($Session, $_WD_LOCATOR_ByXPath, "//button[(@id='btnSearch')]") MsgBox(0,'$sButton',$sButton) _WD_ElementAction($Session, $sButton, 'click') _WD_LoadWait($Session, 2000) Latest Webdriver UDF Release Webdriver Wiki FAQs Link to comment Share on other sites More sharing options...
RohanM Posted July 14, 2022 Author Share Posted July 14, 2022 Hi @Danp2 Thank you so much for your solution. you are correct I didn't check whether the iFram is getting captured or not, also honestly I did not know this command _WD_WaitElement, however I am very beginner for AutoIt scripting and your guidance are very helpful. after checking with _WD_WaitElement I am able to find the controls. thanks Link to comment Share on other sites More sharing options...
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