Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
量角器中的JavaScript_Javascript_Iframe_Protractor - Fatal编程技术网

量角器中的JavaScript

量角器中的JavaScript,javascript,iframe,protractor,Javascript,Iframe,Protractor,我必须使用量角器在iframe内自动单击下拉列表 Iframe: <iframe src="swagger-ui/index.html" frameborder="0" marginheight="0" marginwidth="0" width="100%" height="900" scrolling="auto" target="_top" class="ng-scope"> </iframe> 但不起作用。您正在滥用本例中根本不需要的execu

我必须使用量角器在iframe内自动单击下拉列表

Iframe:

<iframe src="swagger-ui/index.html" frameborder="0" marginheight="0" marginwidth="0" 
        width="100%" height="900" scrolling="auto" target="_top" class="ng-scope">
</iframe>

但不起作用。

您正在滥用本例中根本不需要的
executeScript()
函数。量角器(以及底层的Webdriver.js)允许您使用以下命令切换iFrame:

browser.driver.switchTo().frame(0)

在大多数情况下,使用
0
应返回页面上可见的第一个iframe,但如果有更多,则必须找到适当的索引号


切换后,您可以像平常一样找到元素。但完成后,必须使用
browser.driver.switchTo().defaultContent()切换回默认窗口

对不起,我是新来的。我已经试过了,说defaultContent()不是函数。如果我将其删除并尝试,则在等待量角器与页面同步时会出现“错误”:“您需要发布更多的代码,以查看可能存在的问题。希望这足够了,browser.driver.switchTo().frame(0);元素(by.xpath(“//select[@='select_baseUrl']))。单击();browser.driver.switchTo.defaultContent();谢谢不幸的是,这还不足以说明发生了什么。您应该尝试使用
switchTo()
方法更新您的问题,并公布执行此操作时出现的确切错误。另外,向我们展示更多您的测试文件会很有帮助。我添加了一个快照,谢谢。我解决了这个问题。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。browser.driver.switchTo().frame(0).然后(function(){console.log('now in fn1 SRC1');browser.driver.sleep(5000);browser.driver.findElement(by.id('select_baseUrl'))。click();console.log('now fn2 SRC1');browser.driver.switchTo().defaultContent(););既然我的回答解决了你的问题,你能接受吗?
<select id="select_baseUrl" name="select_baseUrl">
  <option value="1">default (1)</option>
  <option value="2">eventui (2)</option>
  <option value="3">eventservice (3)</option>
</select>
var eeel = browser.executeScript("document.getElementByTagName('iframe')
                  .contentWindow.document.getElementById('select_baseUrl').click();");

browser.wait(eeel,200000);
console.log("Lv2");