Need Help in getting XPath expression for span inside an Iframe popup
14,452
Solution 1
Use:
//iframe//span
This selects every span
element that is a descendent of any iframe
element in the XML document.
Solution 2
Elements in iframe are in fact in another page. so you should first find address of that page which is value of src value of iframe and load it and then access the element in that page.
Solution 3
You need to set the scope of the xpath to the iframe's contentDocument property:
var iframe = document.getElementsByTagName("iframe")[0];
var theFirstSpan = document.evaluate('//span', iframe.contentDocument,
null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue
Author by
Maalamaal
Updated on June 05, 2022Comments
-
Maalamaal about 2 years
Need to get an xpath expression for the span inside the iframe. Need Help in getting XPath expression for span inside an Iframe popup.
i can get the iframe but getting /html/body inside iframe is not happening any help would be appreciated
<div class="gwt-PopupPanelGlass" style="position: absolute; left: 0px; top: 0px; visibility: visible; display: block; width: 1680px; height: 222px;"></div> <div class="gwt-PopupPanel" style="left: 439px; top: 0px; visibility: visible; position: absolute; overflow: visible;"> <div class="popupContent"> <div class="ph-PopupDialog" style="position: relative; width: 800px; height: 220px;"> <div style="position: absolute; z-index: -32767; top: -20ex; width: 10em; height: 10ex;"> </div> <div style="position: absolute; overflow: hidden; left: 0px; top: 0px; right: 0px; bottom: 0px;"> <div style="position: absolute; left: 0px; top: 0px; right: 0px; bottom: 0px;"> <div style="position: absolute; z-index: -32767; top: -20ex; width: 10em; height: 10ex;"> </div> <div style="position: absolute; overflow: hidden; left: 0px; top: 0px; right: 0px; height: 32px;"> <div style="position: absolute; overflow: hidden; left: 0px; top: 32px; right: 0px; bottom: 0px;"> <div class="ph-PopupDialog-content" style="position: absolute; left: 0px; top: 0px; right: 0px; bottom: 0px;"> <div style="position: absolute; z-index: -32767; top: -20ex; width: 10em; height: 10ex;"> </div> <div style="position: absolute; overflow: hidden; left: 5px; top: 5px; right: 5px; bottom: 5px;"> <div style="position: absolute; left: 0px; top: 0px; right: 0px; bottom: 0px;"> <div> <iframe class="gwt-Frame ph-PaymentFrame" name="paymentFrame" src="javascript:''"> <html> <head> <body onload="pageLoaded();"> <div class="ph-View"> <div class="container_24 form-grid"> <div class="container_24 form-grid"> <div class="container_24 form-grid"> <div class="container_24 form-grid"> <div class="container_24 form-grid"> <div class="grid_12"> <div class="ph-ButtonPanel ph-ButtonPanel-undecorated"> <a class="ph-Button ph-Button-button" onclick="submit();return false;" style="float: right; margin-left: 5px;" href="#"> <a class="ph-Button ph-Button-button" onclick="cancel();return false;" style="float: right; margin-left: 5px;" href="#"> <span>Cancel</span> </a> </div> </div> </div> </div> </body>
`