我想编写一个可以使用特定网站的程序。我希望它能够识别相当琐碎的事物(文本)、单击链接和提交表单。
我希望服务器日志看起来与实际用户的事件没有什么不同,所以我不想像往常一样在浏览器之外进行操作。我希望 javascript 之类的东西能够在页面上按预期运行,所以我不想只是伪造正在发送的用户代理。
要实现此目标,我应该关注什么?它会在 Windows 中运行。如果我必须选择一个浏览器,那将是 Chrome,而 Firefox 是我的第二选择。如果它没有那么复杂,我很乐意让它与 Chrome、Firefox、IE 和 Edge 一起工作,但只选择 1 也可以。
我非常熟悉 C++,并且更愿意将其用于此项目。 (是的,我知道其他语言对于熟悉它们的人来说可能会更快,但这是我想要坚持的。)
我需要它能够在浏览器之外与数据库进行交互。我可以使用能够进行进程间通信的浏览器插件来处理此问题,或者使用能够有效抓取浏览器并创建用户外观输入的完全外部程序。
最佳答案
Selenium看起来它很适合你。它通常用于 web 应用程序的自动化测试,但没有理由不能与任何站点交互。它可以用于以完全自动化的方式驱动任何主要浏览器(不确定 Edge;我已经有一段时间没有使用 Selenium 了)。
Selenium 没有 C++ 绑定(bind),但它有 Java、C#、Python、Ruby、PHP、Perl 和 Javascript 绑定(bind)供您使用。
关于c++ - 通过C++控制网络浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37359504/