javascript - 使用 phantomjs 和 Protractor 访问 iframe 内的 Web 元素

标签 javascript selenium-webdriver phantomjs protractor webdriverjs

phantomjs 可以在 iFrame 中执行 getText() 或 EnterText() 等操作吗?我正在使用 Protractor 进行测试。 Phantomjs 可以在默认框架中执行操作,但在 iframe 内定位器会超时。有什么建议吗?

最佳答案

您需要切换到 iframe 才能使用它。就像这样...

browser.switchTo().frame(iframeNameOrIndex);

然后要切换回来,您可以使用:

browser.driver.switchTo().defaultContent();

Protractor API是一个很好的来源...

此外,如果 iframe 来自另一个域,您可能需要为 phantomjs 添加 --web-security=no 选项:

phantomjs --web-security=no spec.js

关于javascript - 使用 phantomjs 和 Protractor 访问 iframe 内的 Web 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32114627/

相关文章:

javascript - 如何获取dom元素的当前html

javascript - 类型错误 : Cannot read Property 'extend' of undefined , Yeoman 生成器

javascript - Electron 应用程序中的 Angular2 错误 : No Provider for PlatformRef

javascript - Selenium 与 PhantomJS : Form being validated but not submitted

c# - 在 Azure Web 应用程序上运行 Selenium

javascript - 更改文本的功能不起作用 jQuery

java - 尝试打印错误消息

node.js - 错误 : The path to the driver executable must be set by the webdriver. chrome.driver 系统属性

java - org.openqa.selenium.remote.UnreachableBrowserException 如何定义EXE路径?

ruby-on-rails - PhantomJS version 1.4.0 版本问题