在 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 浏览器的主要内容,如果未能解决你的问题,请参考以下文章