簡體   English   中英

你如何使用Selenium在一個框架內執行javascript?

[英]How do you use Selenium to execute javascript within a frame?

我有一個頁面(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]')");

一切都是笨拙的海魴。

現在這是偽代碼,如果人們想讓我編譯它我會這樣做並把它放在github上。

Selenium將Window對象存儲在自己的對象中,以便更好地操作它。 一旦你移動到框架,它應該是這樣的。

selenium.getEval("var window = this.browserbot.getUserWindow();window.jQuery('div[id=main]')");

這應該對你有用

我有我的網站教程這種類型的情況在這里

您可以使用 :

JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("javascript:sendEvent('play');");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM