我有一些看起来像这样的div
<div class="someClassyStuff" on-tap="foo(param)"> Text </div>
在量角器中,我们搜索并找到div
元素,检查文本是否符合我们的期望,然后对该元素调用click()
。测试在Chrome中运行良好,但在IE中就好像没有点击发生一样。破坏了测试。
IE 11是否支持点击?
我尝试更改为
ng-Click="foo(参数)"
,但没有效果。
我遇到过这样的问题,点击不会在火狐中点击,但它会在铬中点击。解决方法是在执行在chrome中起作用的初始单击后添加鼠标向下和鼠标抬起操作。
browser.getCapabilities().then(function(cap){
element(by.css("div.someClassyStuff")).click();
if(cap.caps_.browserName == "ie"){
browser.actions().mouseDown().mouseUp().perform();
}
};
更新:
如果您还没有,您可以尝试其他想法:
(双击鼠标)
element(by.css("div.someClassyStuff")).click().click();
另一件我用来点击棘手事物的事情是使用预期条件来点击某物
// Wait for an element to be clickable then click it
global.waitAndClick = function(element, time, errMessage) {
if(typeof(time) ==='undefined') time = 10000;
var IsClickable = EC.elementToBeClickable(element);
browser.wait(IsClickable, time, errMessage);
return element.click();
};
waitAndClick(element(by.css("div.someClassyStuff")), 5000, "failed to click my elem");
随着自动化IE浏览器,它总是一些特别的东西。尝试点按“通过javascript”链接:
var elm = element(by.css("div.someClassyStuff"));
browser.executeScript("arguments[0].click();", elm.getWebElement());
我用这些能力解决了这个问题:
exports.config = {
capabilities: {
'browserName': 'internet explorer',
'version': 11,
'nativeEvents': false,
'unexpectedAlertBehaviour': 'accept',
'ignoreProtectedModeSettings': true,
'enablePersistentHover': true,
'disable-popup-blocking': true
}
};
您可以在浏览器堆栈设置中使用相同的方法:
exports.config = {
capabilities: {
'browser' : 'ie',
'browserName': '',
'browser_version' : '11',
'os' : 'Windows',
'os_version' : '7',
'browserstack.user': 'XXX',
'browserstack.key': 'XXX',
'version': 11,
'nativeEvents': false,
'unexpectedAlertBehaviour': 'accept',
'ignoreProtectedModeSettings': true,
'enablePersistentHover': true,
'disable-popup-blocking': true
}
};
在软件质量保证中找到解决方案
问题内容: 这行不通,什么也没发生。我如何使其工作,我在做什么错? 问题答案: 问题在于,由于您使用事件处理程序的content属性,因此您的全局函数… 被…遮盖 …这是最近在Web Animations中引入的: 5.21接口扩展 由于DOM元素可能是动画的目标,因此Element 接口[ DOM4 ]扩展如下: 这允许以下类型的用法。 在获取事件处理程序的当前值的[步骤10]中说明了此行为:
问题内容: 我注意到less.js在firefox中工作,但在Chrome中不工作,或者是因为我出错了吗? 即使我尝试在Chrome中仍然无法使用,我在某个地方犯了错误吗? 问题答案: 通过您提供的链接: 如果您使用的是Chrome,Less.js浏览器脚本当前将无法使用,并且由于已知的Chrome问题,网页的路径以“file:///”开头。
问题内容: 由于某种原因,似乎响应JS无法正常工作。我正在IE 8中使用媒体查询来更改各种大小的监视器的背景图像。在IE 8中,没有背景,只有纯色。 代码如下: 媒体查询如下所示: 上面的代码在IE 8中无法工作是有原因的吗?我还应该尝试使用另一个JS来使IE 8 Media Queries工作吗? 注意:看来html5-shiv确实有效。我正在实时Web服务器上进行测试。 问题答案: 同样的问题
问题内容: 我有以下功能 但是 在ie7中不起作用,那我该怎么办!我想将光标放在输入中! 谢谢 更新 很好的解决方案,谢谢,但是现在在opera中不起作用:( 问题答案: 对于IE,您需要使用settimeout函数,因为它很懒,例如: 对于opera,这可能会有所帮助:如何在opera文本框上的所需索引中设置焦点
问题内容: 我试图在我的一个JavaScript程序中应用一个字符串。在Mozilla下它可以正常工作,但是当我在IE8中尝试时会显示错误。有人知道这是怎么回事吗?无论如何,我可以使其在IE中工作吗? 码: 错误显示: 问题答案: 添加以下代码以向字符串添加修剪功能。
问题内容: 以下是我的JavaScript(mootools)代码: 在除IE之外的所有浏览器中,这都可以正常工作。但是在IE中,这会导致错误。我有IE8,因此在使用其JavaScript调试器时,我发现该对象没有导致错误的方法,因此正在提交表单。在Firefox(我使用Firebug发现)的情况下支持该方法。 有帮助吗? 问题答案: 在IE中,您可以使用 达到相同的结果。 为了不出错,您可以测试