![](/img/trans.png)
[英]How do you execute javascript element using PageObjects and @FindBy in java selenium
[英]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.