我目前正在测试一个包含多个Chrome标签的应用程序'与Selenium& Java中的chromedriver。
我想要实现的目标是在标签之间切换。
为此,我没问题:
driver.switchTo().window("CDwindow-***************");
工作正常。但我有一些页面,我面临着一个问题。这些页面很简单,他们听取事件TestLoad
,并做一些事情:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
</head>
<body>
<script>
document.addEventListener('TestLoad', onTestLoad, false);
function onTestLoad(event) {
alert('TestLoad event');
}
</script>
</body>
</html>
当页面加载时,我的应用程序在页面中注入一些Javascript:
$(document).ready(function() {
var evt = document.createEvent("Event");
evt.initEvent("TestLoad", true, true);
setTimeout(function(){document.dispatchEvent(evt)}, 1);
});
现在,当我切换到这种类型的页面,并试图通过网络驱动程序询问某些内容时,dirver.getTitle()
,页面会闪烁&#39; !它不会重新加载页面,但如果页面包含动画,它将重置它们。它似乎重新加载了标签实例。
重现的简单方法是在获取标题之前手动打开chrome dev工具,它将关闭它。
你知道为什么我会这样做吗? 提前谢谢。