我有一个带有框架的页面(index.html):
<html> <body> <iframe src="otherPage.html" /> </body> </html>
而otherPage.html具有以下内容:
<html> <head><link src="jquery-min.js" type="text/javascript" /></head> <body><div id="main">Contents</div></body> </html>
我正在尝试在index.html上使用以下selenium代码:
selenium.open("index.html"); selenium.selectFrame("//iframe"); selenium.getEval("window.jQuery('div[id=main]')");
但是,这失败了。它说jQuery对象不存在。
如果我尝试像这样在otherPage上执行selenium测试:
selenium.open("otherPage.html"); selenium.getEval("window.jQuery('div[id=main]')");
一切都是笨拙的海ry。
现在,这是伪代码,如果人们希望我对其进行编译,我会这样做并将其放在github上。
Selenium将Window对象存储在其自己的对象中,以便可以更好地对其进行操作。一旦移动到框架,它应该是这样的。
selenium.getEval("var window = this.browserbot.getUserWindow();window.jQuery('div[id=main]')");
那应该为你工作
我有我的网站教程这种类型的情况在这里