【问题标题】:Cannot click web element with JS无法使用 JS 单击网页元素
【发布时间】:2018-11-09 01:16:58
【问题描述】:

我在查找工作代码以使用 JS 在 Outlook.com 移动网站上模拟单击 Web 元素(按钮)时遇到问题。 我已经尝试了在网上找到的所有解决方案,但该元素仍然无法点击。 当用我的手指(手机)或通过 Chrome devTools 用鼠标点击此按钮时,它可以工作。

另外,我发现在我的手机上使用 Selenium/Appium 时,点击有效。

我试图在 selenium 的 GitHub 上找到执行点击但找不到的代码。 有人可以帮我完成这个点击吗?

一些细节:

网站: http://outlook.live.com/owa

用户名: testclick@outlook.co.il

密码: 娜塔莎2018

按钮 - 左上角的加号按钮 https://ibb.co/h6eVFy

测试代码:

1) elem.click();

2)

function eventFire(el, etype){
  if (el.fireEvent) {
    el.fireEvent('on' + etype);
  } else {
    var evObj = document.createEvent('Events');
    evObj.initEvent(etype, true, false);
    el.dispatchEvent(evObj);
  }
}

3) $("#elem").click();

4)

var simulateClick = function (elem) {
    // Create our event (with options)
    var evt = new MouseEvent('click', {
        bubbles: true,
        cancelable: true,
        view: window
    });
    // If cancelled, don't dispatch our event
    var canceled = !elem.dispatchEvent(evt);
};

谢谢。

【问题讨论】:

  • 请用相关的 HTML 添加您的试用代码

标签: javascript selenium click appium


【解决方案1】:

使用纯 javascript,您可以通过以下方式实现:

document.getElementsByClassName("ms-Button ms-Button--action")[0].click();

但是,如果您尝试通过任何扩展来执行此操作,那么在编写此代码之前您可能需要适当的权限。

【讨论】:

  • 我的类名是“ms-fcl-w o365button”,它不起作用:(
  • @Dan 你可以相应地改变它。
  • 我做了,但它什么也没做。
猜你喜欢
  • 2020-07-13
  • 1970-01-01
  • 1970-01-01
  • 2020-08-15
  • 1970-01-01
  • 2017-07-25
  • 2017-09-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多