I have a page (index.html) which has a frame:
<html>
<body>
<iframe src="otherPage.html" />
</body>
</html>
And the otherPage.html has the contents:
<html>
<head><link src="jquery-min.js" type="text/javascript" /></head>
<body><div id="main">Contents</div></body>
</html>
I am attempting to use the following selenium code on index.html:
selenium.open("index.html");
selenium.selectFrame("//iframe");
selenium.getEval("window.jQuery('div[id=main]')");
However this fails miserably. It says that the jQuery object doesn't exist.
If I attempt to execute the selenium test on the otherPage like so:
selenium.open("otherPage.html");
selenium.getEval("window.jQuery('div[id=main]')");
everything is hunky dory.
Right now this is pseudo code, if people want me to make it compile I'll do that and put it on github.
Selenium stores the Window Object within its own object so it can manipulate it better. Once you move to the frame it should be like this.
selenium.getEval("var window = this.browserbot.getUserWindow();window.jQuery('div[id=main]')");
And that should work for you
I have a tutorial on my site for this type of situation here
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With