C# 获取 Firefox 中所有打开页面的 URL

标签 c# url firefox

我已经来过这里了:

我知道已经有很多关于这个主题的问题,但没有一个能正确回答。我很好奇如何获取 Firefox 中所有打开页面的 URL,但我找不到提供工作代码的解决方案。

这是互联网上最有值(value)的解决方案,但对我不起作用。 此代码使用 DDE(它使用 NDDE - 一个很好的 .NET DDE 包装器):

private string GetBrowserURL(string browser)
{
    try
    {
        DdeClient dde = new DdeClient(browser, "WWW_GetWindowInfo");
        dde.Connect();
        string url = dde.Request("URL", int.MaxValue);
        string[] text = url.Split(new string[] { "\",\"" }, StringSplitOptions.RemoveEmptyEntries);
        dde.Disconnect();
        return text[0].Substring(1);
    }
    catch
    {
        return null;
    }
}

我不关心它是否显示历史记录,是否在第二个 Firefox 窗口中获取打开页面的 URL,我现在想让它保持简单。请不要为我提供其他浏览器的代码,因为它总是特定于浏览器或任何 VB 代码。

最佳答案

即使您使用 Firefox,这也有效 > 49:

System.Windows.Automation.AutomationElement AutomationElement = System.Windows.Automation.AutomationElement.FromHandle(ptr);
System.Windows.Automation.AutomationElement Elm = AutomationElement.FindFirst(TreeScope.Descendants, new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document));
System.Windows.Automation.AutomationPattern[] BAutomationPattern = Elm.GetSupportedPatterns();
System.Windows.Automation.ValuePattern BValuePattern = (System.Windows.Automation.ValuePattern)Elm.GetCurrentPattern(BAutomationPattern[0]);
CurrentUrlName = BValuePattern.Current.Value.ToString();

关于C# 获取 Firefox 中所有打开页面的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45036668/

相关文章:

javascript - 查看页面源代码和在 Firebug 中查看的差异

c# - Entity Framework - 加载子集合,按子属性排序

c# - 如何通过 C# post 请求上传文件?自己的云

c# - 将 Linq 设置为 NHibernate ADO 命令超时

url - Clojure 从组成部分构建 URL

php - 如何在 cakephp requestAction 中传递参数?

firefox - 在Firefox中快速进行MSDN搜索

firefox - 如何在 Firefox 中设置无衬线字体而不丢失特殊字符

C#:如何以编程方式将 SQL 脚本导入数据库?

swift - 来自base64 url​​的数据