C# 如何从Safari浏览器获取URL

C# 如何从Safari浏览器获取URL,c#,browser,safari,C#,Browser,Safari,如何从C#访问Safari浏览器以获取当前URL?这并不是最好的答案,但我通过将焦点移到Safari窗口,然后使用SendKeys发送一个“Ctrl+l”,选择URL栏,“Ctrl+C”将内容复制到剪贴板来实现这一点。然后抓取剪贴板的内容并将其保存到字符串中,或者您可以将其保存到字符串列表中,并将焦点带回窗口“Ctrl+Tab”,重复上述过程。这当然需要您允许程序完成它的工作,并且您可能还希望在该循环的迭代之间稍微延迟一点。SendKeys不是一个好的解决方案,但如果您允许足够的延迟,并在循环的

如何从C#访问Safari浏览器以获取当前URL?

这并不是最好的答案,但我通过将焦点移到Safari窗口,然后使用SendKeys发送一个“Ctrl+l”,选择URL栏,“Ctrl+C”将内容复制到剪贴板来实现这一点。然后抓取剪贴板的内容并将其保存到字符串中,或者您可以将其保存到字符串列表中,并将焦点带回窗口“Ctrl+Tab”,重复上述过程。这当然需要您允许程序完成它的工作,并且您可能还希望在该循环的迭代之间稍微延迟一点。SendKeys不是一个好的解决方案,但如果您允许足够的延迟,并在循环的每个迭代中激活焦点,那么它确实可以工作。除此之外,可能还有一个会话文件可以使用正则表达式解析。这并不是最好的答案,但我通过将焦点移到safari窗口,然后使用SendKeys发送一个“Ctrl+l”,选择URL栏,“Ctrl+C”,将内容复制到剪贴板,从而实现了这一点。然后抓取剪贴板的内容并将其保存到字符串中,或者您可以将其保存到字符串列表中,并将焦点带回窗口“Ctrl+Tab”,重复上述过程。这当然需要您允许程序完成它的工作,并且您可能还希望在该循环的迭代之间稍微延迟一点。SendKeys不是一个好的解决方案,但如果您允许足够的延迟,并在循环的每个迭代中激活焦点,那么它确实可以工作。除此之外,可能有一个会话文件可以使用正则表达式进行解析

您想启动Safari还是默认浏览器?不是Safari用户,我不确定它是否允许多个窗口,但如果允许,您将如何决定从哪个窗口获取URL,假设活动选项卡是您要视为“当前”的选项卡。您要启动Safari,还是默认浏览器?不是Safari用户,我不确定它是否允许多个窗口,但如果允许,您将如何决定从哪个窗口获取URL,假设活动选项卡是您要视为“当前”的选项卡。