在 Windows 上使用 c# 自动化 Safari Web 浏览器

Posted

技术标签:

【中文标题】在 Windows 上使用 c# 自动化 Safari Web 浏览器【英文标题】:Automate Safari web browser using c# on Windows 【发布时间】:2010-09-08 19:18:34 【问题描述】:

我想知道是否有人成功管理或知道如何在 Windows 平台上自动化 Safari 网络浏览器。

理想情况下,我希望以类似于使用mshtml 用于 Internet Explorer 的方式自动化 Safari。如果无法将 javascript 注入正在运行的进程中也可以。我已经使用 JavaScript 注入方法通过 jssh 插件自动化 Firefox。

我希望使用 .Net 自动化浏览器以增强现有的自动化框架 WatiN

编辑:虽然我认为 selenium 可能是在某些情况下自动化 Safari 的绝佳选择,但我想使用不需要在服务器上安装软件的解决方案,即 Selenium Core 或中间体Selenium Remote Control 的代理服务器。

更新:23-03-2009: 虽然我还没有找到自动化 Safari 的方法,但我找到了一种在 Chrome 中自动化 Webkit 的方法。如果您使用 --remote-shell-port=9999 命令行开关(参考:http://www.ericdlarson.com/misc/chrome_command_line_flags.html)运行 Chrome,您可以将 javascript 发送到浏览器。

一旦连接到远程调试视图

发送 debug() 以附加到当前选项卡 使用 print 发送任何 javascript 命令,即打印 document.window.location.href

我们已经用这个方法添加Chrome support to WatiN

【问题讨论】:

如果您在 Windows 上使用自动 Safari,我会对此非常感兴趣。 你有什么运气吗? 只能通过 Chrome 和 webkit,如上所述。然而,它还处于开发的早期阶段。查看最新的 WatiN 资源以获取想法。 我正在考虑在 Windows 上为 Watir 添加对 Safari 的支持。我们已经支持 Chrome,所以这对我来说不是很有趣。 【参考方案1】:

你可以在这里查看我的帖子,我正在使用上述方法在 C# 中自动化 Chrome

http://markcz.wordpress.com/2012/02/18/automating-chrome-browser-from-csharp/

马丁

【讨论】:

【参考方案2】:

我不确定这是否有帮助,但ArtOfTest 的人已经在他们基于 .Net 的自动化框架 WebAii 中添加了 Safari 支持。也许你可以弄清楚他们在做什么。

【讨论】:

我问了他们并得到了自动回复,我会在 24 小时内得到答复,但几天后仍然没有。【参考方案3】:

Selenium 对我进行兼容性测试非常有用。

【讨论】:

【参考方案4】:

WatiN here http://watinandmore.blogspot.com/2010/01/browserattachto-and-iattachto.html 让您自动化 IE 和 FF。它是开源的,所以你可以看看他们是如何做到的。

也许您可以根据自己的需要调整它?

【讨论】:

以上是关于在 Windows 上使用 c# 自动化 Safari Web 浏览器的主要内容,如果未能解决你的问题,请参考以下文章

C#开发Windows服务

(25)c# windows服务

实战项目一:半自动化生成财务分析报告

windows系统下,在C#程序中自动安装字体

C#注释

C# Windows 窗体 ListView 在按宽度自动调整大小 = -1 后获取列的实际宽度?