JavaScript .click DIV 不起作用,为什么?

JavaScript .click on DIV not working, why?

我正在开发一个应用程序,使用 JavaScript 从 Google Contacts 收集联系人。我需要做的是导航到该站点,单击 DIV 并提取 HTML 源。

问题是,当我手动点击 DIV 时,网站出现了预期的行为。但是当我以编程方式在同一个 DIV 上调用 click 时,没有任何反应。

这里是有问题的 DIV :

<div id=":se" class="tk3N6e-LgbsSe VIpgJd-TzA9Ye-eEGnhe Ycq2Ve tk3N6e-LgbsSe-roVxwc tk3N6e-LgbsSe-n2to0e tk3N6e-LgbsSe-vhaaFf-LK5yu ipG21e" role="button" tabindex="0" data-tooltip="Next" aria-label="Next" style="user-select: none;">
<span class="Fj0vqf" aria-hidden="true">&nbsp;</span>
<img class="P1rG1b tk3N6e-LgbsSe-RJLb9c" src="images/cleardot.gif" alt="">
</div>

为了完成任务,我正在使用这个 JS :

document.getElementsByClassName('tk3N6e-LgbsSe')[7].click();

虽然 return 上方的选择器是正确的节点,但当我调用 .click() 时,没有任何反应。我在这里错过了什么?

下面是突出显示 DIV 问题的网站图片:

点击绑定到TR元素。

document.querySelectorAll("tr.K9ln3e")[4].click()

然后我看到你点击的不是人,而是箭头。有趣的是我在 gmail 中没有足够的联系人来显示箭头所以我只能假设这会起作用

var dv = document.getElementsByClassName('tk3N6e-LgbsSe')[7]
var clickEvent = new MouseEvent('mousedown', {
  view: window,
  bubbles: true,
  cancelable: true
});
dv.dispatchEvent(clickEvent);

以下对我有用,必须在 mousedown 之后进行 mouseup。

document.getElementsByClassName('tk3N6e-LgbsSe')[7].dispatchEvent(new MouseEvent('mousedown'))
document.getElementsByClassName('tk3N6e-LgbsSe')[7].dispatchEvent(new MouseEvent('mouseup'))