【发布时间】:2019-04-07 13:21:45
【问题描述】:
为什么无法使用 JavaScript .click() 方法点击 WhatsApp 网页 (https://web.whatsapp.com) 上的任何元素?我正在采取的步骤如下:
- 假设二维码验证完成,访问https://web.whatsapp.com
- 找到显示搜索或开始新聊天的搜索栏,这是一个输入元素,并在其上触发
.click()。
我能够找到搜索输入字段,因为它具有唯一的 title 值 搜索或开始新聊天,但是当我尝试在 Chrome 的 DevTools 控制台中单击它时,什么都没有发生。
首先我认为我可能会点击错误的元素。可以肯定的是,我在 Chrome 上安装了 Katalon Recorder 自动化扩展。然后我记录了所采取的步骤(浏览到 WhatsApp 网页,点击搜索框)。在 Katalon 中播放例程会按预期单击搜索框。我复制了 Katalon 记录的 Xpath 表达式,并将整个内容粘贴到document.evaluate()。原来,它与querySelectorAll 捕获的输入元素相同。
在浏览器控制台中,我正在运行以下代码:
let xPath = "(.//*[normalize-space(text()) and normalize-space(.)='Search or start new chat'])[1]/following::input[1]";
let result = document.evaluate(xPath, document);
let searchBox = result.iterateNext();
searchBox.click();
那么,您知道为什么.click() 无法在 WhatsApp 网页上运行吗?我还想知道 Katalon 的不同之处 - 允许它点击所需的元素。我可以在无头浏览器中执行此操作吗?
【问题讨论】:
-
您可以添加您尝试使用的代码吗?
-
@GerardoBLANCO 问题已用代码更新。
-
看起来
searchBox为空 -
不是我的情况:imgur.com/a/nF5NSbR
-
你预计会发生什么?
标签: javascript automation webdriver browser-automation katalon-recorder