Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.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
Html 从量角器保存网页(右键单击->;另存为…-从页面关联菜单)_Html_Angular_Protractor - Fatal编程技术网

Html 从量角器保存网页(右键单击->;另存为…-从页面关联菜单)

Html 从量角器保存网页(右键单击->;另存为…-从页面关联菜单),html,angular,protractor,Html,Angular,Protractor,在量角器测试执行期间,我无法自动保存网页。我希望在测试执行期间获得此上下文菜单: 但我明白了: 我不知道为什么在Chrome中打开的菜单与在测试执行期间打开的菜单不同。我得到了这个菜单: browser.driver.actions().click(protractor.Button.RIGHT).perform(); 问题是我无法向驱动程序发送Ctrl+S命令。我尝试使用这行代码,但没有成功: browser.actions().keyDown(protractor.Key.CONTRO

在量角器测试执行期间,我无法自动保存网页。我希望在测试执行期间获得此上下文菜单:

但我明白了:

我不知道为什么在Chrome中打开的菜单与在测试执行期间打开的菜单不同。我得到了这个菜单:

browser.driver.actions().click(protractor.Button.RIGHT).perform();
问题是我无法向驱动程序发送Ctrl+S命令。我尝试使用这行代码,但没有成功:

browser.actions().keyDown(protractor.Key.CONTROL).sendKeys('s').perform();
我用Ctrl+S在Chrome中获得了正确的菜单,但在这里我不能发送这个快捷键,有趣的是,Ctrl+A有效(所有页面文本都被选中),如果我用“A”而不是“S”,但用“S”则无效。此外,向下箭头不起作用:

browser.actions().sendKeys(protractor.Key.ARROW_DOWN).perform();
即使菜单打开了,我也不能集中精力在正确的菜单项上

还有另一个问题,使用第二个菜单保存的页面不完整(HTML不完整,它是Angular 2应用程序,一个组件的HTML不包括在内,就像它没有呈现一样)。只有在Chrome中手动保存页面,或者在测试执行期间手动保存页面(例如,在长时间的browser.sleep期间),我才能获得完整的HTML

因为我只想获得页面源代码以供进一步分析,所以我还尝试使用:

browser.getPageSource().then((src) => {
    let source = src;
});
不过,页面源代码仍然不完整。缺少使用ng开关呈现的一个组件的HTML。我有这段代码来确保角度渲染完成:

beforeAll(() => {
    browser.waitForAngular();
});
我的问题是:
有没有办法用量角器保存Angular 2应用程序的整页源代码?

我找到了在第二张图片上显示此菜单的原因。这是因为我正在点击一个链接。现在天气很好。我可以从第一张图片中看到菜单,但仍然存在其他问题,我无法向下移动箭头或将页面另存为文件…browser.driver.findelelement(By.css('body')).getAttribute('innerHTML')。然后(function){console.log(s)}似乎可以工作,但使用以下代码:browser.executeScript('return arguments[0].innerHTML;'),element(By.tagName('body'))。然后((i)=>{console.log(i);});这是因为:谢谢,我会使用它!@Barney你可以发布答案,我会接受它!我找到了在第二张图片上获得此菜单的原因。这是因为我正在单击链接。现在一切正常。我可以从第一张图片中看到菜单,但仍然存在其他问题,我无法向下移动箭头或将页面另存为文件…browser.driver.findelelement(By.css('body')).getAttribute('innerHTML')。然后(函数){console.log(s)})它似乎可以工作,但使用以下代码:browser.executeScript('return arguments[0].innerHTML;',element(By.tagName('body'))。然后((i)=>{console.log(i);});这是因为:谢谢,我会用它!@Barney你可以发布答案,我会接受的!