【问题标题】:get url from chrome web browser从 chrome 网络浏览器获取 url
【发布时间】:2014-04-16 05:42:33
【问题描述】:

我正在尝试从 chrome 网络浏览器 33 版获取 url - 使用 C#。我已经查看并尝试了关于 SO 的不同建议 - 但到目前为止还没有运气。

我尝试过的事情: AutomationElement -> Getting the current tab's URL from Google Chrome using C# 在 33 版 Chrome 网络浏览器中使用自动化无法找到“地址和搜索栏”元素。 我还尝试使用 TreeWalker 以及我发现的唯一元素:

水平滚动条

少量返回

少量转发

垂直滚动条

少量返回

少量转发

“网页标题...”

系统菜单栏

系统

最小化

恢复

关闭

NDde -> Retrieve current URL from C# windows forms application

NDde.Client.DdeClient dde = new NDde.Client.DdeClient("Chrome", "WWW_GetWindowInfo");
dde.Connect();

NDde.Client.DdeClient dde = new NDde.Client.DdeClient("Chrome", "Chrome_OmniboxView");
dde.Connect();

两者都不起作用...无法连接。

FindWindowEx ->

 [DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string className, string windowTitle);

public string GetChromeUrl(Process process)
{
    IntPtr handle = IntPtr.Zero;
    Process[] procsChrome = Process.GetProcessesByName("chrome");
    foreach (Process chrome in procsChrome)
    {
        // the chrome process must have a window
        if (chrome.MainWindowHandle == IntPtr.Zero)
        {
            continue;
        } else 
        {
            handle = chrome.MainWindowHandle;
            break;
        }
    }

    IntPtr urlHandle = FindWindowEx(handle, IntPtr.Zero, null, "Address and search bar");
    if (urlHandle != IntPtr.Zero)
    {
        Console.WriteLine("yes!");
    }
    return "";
}

也不行……

我走了多远

所以我使用 UI Spy 和检查来查找 Chrome 33 中多功能框的名称。 在 UI spy 中根本找不到它,但在检查中我找到了“地址和搜索栏”,它具有我所追求的 url 值......问题是我如何获取该 url 信息?

有什么想法吗?

【问题讨论】:

    标签: c# google-chrome url browser web


    【解决方案1】:

    不确定为什么自动化路线在 Chrome 33 中不起作用,来自您的 AutomationElement 链接;我在 Chrome 35 中实现了它,它运行良好。请务必使用第一个实现,它据称需要 350 毫秒才能找到 URL。此外,我发现使用 TreeScope.Subtree 而不是 TreeScope.Descendants 似乎工作得更快一些,虽然我没有执行定时测试或任何东西。

    【讨论】:

      【解决方案2】:

      您是否尝试过从 API 获取它?

      getURL - 字符串 chrome.runtime.getURL(字符串路径)

      这里是源链接:Link to API

      【讨论】:

        猜你喜欢
        • 2010-10-23
        • 2011-02-04
        • 1970-01-01
        • 1970-01-01
        • 2014-12-18
        • 2020-05-05
        • 2016-06-23
        • 1970-01-01
        相关资源
        最近更新 更多