javascript - 通过操作系统自动访问默认浏览器并将值从输入字段复制到我的程序
问题描述
我已经创建了电子应用程序,它将要求我的谷歌驱动器帐户授权。我的应用程序非常简单,它将显示来自我的 google drive 帐户的文件列表。这是链接
要获取授权密钥,我必须手动从我的电子应用程序中单击授权按钮,然后它将在我的默认浏览器中打开新选项卡。我需要授予访问我的谷歌驱动器数据的权限。然后谷歌驱动器将向我提供授权密钥,然后我可以获得并输入我的应用程序的密钥。
如何自动运行上述场景?
解决方案
您真的不希望这成为您用户代码的默认流程,因此我假设您要求测试自动化,以便您可以测试它是否有效。你基本上会:
- 安装
chromedriver
软件包。 - 您将创建一个脚本来下载和启动 chromedriver,然后使用webdriver.io之类的东西来启动 Chrome 会话。
- 在会话中,您可以将用户数据目录配置为用户的真实目录。您可以在此处找到不同操作系统中的位置。
- 您现在拥有一个包含用户数据的全自动 Chrome。
- 现在,您使用电子请求权限,这将在浏览器上打开一个带有活动 selenium 会话的选项卡。
- 调用
browser.click('...')
页面中您想要的任何元素来接受请求。
我想非常清楚这只是可以接受的,并且在测试时会起作用。“在野外”通过第三方可执行文件在没有明确许可的情况下控制用户的浏览器是一种肯定会被市场上所有反恶意软件产品标记并应对数据泄露负责的可靠方式。
推荐阅读
- apache - Solr 按文本搜索
- hdfs - 使用 nohup 后停止 HDFS Balancer
- mysql - 如何在 SQL 中的特定列中获取中间值
- flutter - Flutter:我的 DropdownButton 值没有被占用?
- visual-studio - 如何在从 Visual Studio 发布到 azure 期间防止 web.config 恢复
- node.js - 我尽一切努力使这个模板工作,但仍然出现这个错误:只有命名块和混合可以出现在扩展模板的顶层
- c# - 如何在列表视图中显示/隐藏按钮
- mysql - 在 MySQL 中提取 10k 表的特定列的计数
- ios - 如何判断iPhone是iPhoneX系列?
- javascript - 如何在滚动上修复 jQuery 图像序列