没有 Selenium / ChromeDriver 的自动化 Web 交互

Automated Web Interaction without Selenium / ChromeDriver

目标是提供一个轻量级应用程序(可能是 .NET),它将提供非常有限的功能来与我们组织中的特定 Web 应用程序进行交互(如果有帮助的话,它是 Workday。)

到目前为止,我们已经使用 Selenium 成功地做到了这一点——要求每个用户安装 Chrome 并且——重要的是——安装与他们的 Chromium 版本兼容的 chromedriver.exe 版本。大多数应用程序由 chromedriver.FindElementByXPath(x).Click 和 chromedriver.FindElementByXPath(x).SendKeys(t) 语句组成。

但是,确保为所有用户安装正确的 chromedriver 变得很麻烦,我们希望此应用程序与浏览器无关(或者至少支持 Chrome , Edge, 用户设备上的 Firefox。)

所以简单的问题是——我们可以针对站点执行简单的活动(单击一些按钮图块和发送键来填充文本框)没有 Selenium 吗?

我正在研究是否可以使用 Microsoft UI Automation 或可以简单地通过 GET 和 POST 处理点击和文本输入的东西(不,使用 API 可能不是一个选项。)

不要太努力学习你提供的link。为什么?因为问题不是要求自动化任何东西,而是浏览器应用程序。当然,除非您的应用程序嵌入了浏览器...自动化桌面应用程序很困难,但可以做到。

我会深入研究 Microsoft 的 Playwright。它是用于浏览器自动化的无硒产品。它目前的工程师团队是业内最优秀的,他们中的许多人都参与了 Google 的 Puppeteer 项目。除了 Cypress,Playwright 现在似乎是 class 中最好的。 Cypress 的问题是您必须在基于专用浏览器的伪 IDE 中 运行 它。