我想从Chrome浏览器版本33 - 使用C#获取网址。我在这里看过并尝试过不同的建议 - 但到目前为止还没有运气。从Chrome网页浏览器获取网址
事情我已经尝试: 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间谍和检查,以查找Chrome 33中多功能框的名称。 在UI间谍中根本找不到,但在检查中我找到了“地址和搜索栏”,它具有我在...后的url值问题是我如何获得该网址信息?
有什么想法?
-1:API在C#中工作吗? –