如何使用 Selenium 和 NodeJS 在 Chrome 上模仿 URL 输入和 ENTER 键
Posted
技术标签:
【中文标题】如何使用 Selenium 和 NodeJS 在 Chrome 上模仿 URL 输入和 ENTER 键【英文标题】:How to imitate URL typing and ENTER clicking on Chrome with Selenium and NodeJS 【发布时间】:2021-01-04 12:06:59 【问题描述】:我正在使用 Selenium
和 NodeJS
在 Chrome
上自动进行下载测试。
我注意到Chrome's
下载保护在单击链接或自动重定向到 URL 与实际在地址栏中键入 URL 并单击 ENTER 时的行为不同(Chrome 保护在实际键入 URL 时不会将某些文件标记为被阻止)。
到目前为止,我尝试了一些文件,但仍然有一些文件块:
driver.get(url)
driver.executeScript
重定向到网址
driver.executeScript
创建 A 元素并点击它。
打开一个新标签,然后driver.get(url)
有没有办法模仿地址栏输入和 ENTER 点击Selenium
?
【问题讨论】:
您的目标是检查文件是否被阻止或正在寻找解决方法来下载被阻止的文件?据我所知,没有办法模仿 URL 输入和使用 selenium 输入。 你可以试着模仿一下,比如使用快捷方式Ctrl + L
选择浏览器地址栏,然后延迟使用sendKey
方法。此外,如果您注意到浏览器的行为不同并且是因为浏览器的下载保护,那么在自动化中禁用它可能是有意义的。
@FlorentB。重点是检查文件是否被阻止,但我发现在搜索栏中输入文件名和单击链接之间存在区别。 (第一个不显示阻塞,第二个显示)
你使用的是 Python 还是 Java?
@EdoardoRosso NodeJS 但我也可以做 python/java。
【参考方案1】:
遗憾的是,Selenium 不支持将密钥发送到浏览器地址栏。
有人建议用 win32com.client 库为 Node.js here 解决方案
我没有尝试过,但在this 线程上发现了一个类似的问题。
【讨论】:
以上是关于如何使用 Selenium 和 NodeJS 在 Chrome 上模仿 URL 输入和 ENTER 键的主要内容,如果未能解决你的问题,请参考以下文章
如何搭建webdriver+selenium+nodejs自动化测试框架
如何搭建webdriver+selenium+nodejs自动化测试框架
如何使用 NodeJS 在本地测试 AWS Lambda 处理程序?