c# -在所有firefox实例中打开所有浏览选项卡

本文关键字:浏览 选项 实例 firefox | 更新日期: 2023-09-27 18:16:36

如何从Chrome和Firefox获得打开页面的url ?

如何从Chrome和Firefox获得打开页面的url ?

http://hintdesk.com/c-automationelement-left-click-and-send-keys/

如何检查网页是否已在浏览器中打开?

等等……

都会失败。它们要么只返回最上面打开的选项卡,要么根本不起作用。

我需要检查一下firefox是否打开了一个url,如果是,那么刷新并关注该选项卡/url,如果没有打开firefox到那个页面。

这不是firefox插件或任何与firefox有关的东西。这是我的浏览器选择,所以这是我想使用的一个。所有这些都是为了避免每次运行我的应用程序时连续打开相同的url。

c# -在所有firefox实例中打开所有浏览选项卡

您可以使用System.Runtime.InteropServices打印窗口名称。

[DllImport("user32.dll")]
static extern int GetWindowTextLength(IntPtr hWnd);
[DllImport("user32.dll")]
private static extern int GetWindowText(IntPtr hWnd, StringBuilder lpString, int nMaxCount);
public static void PrintBrowserTabName()
{
    var browsersList = new List<string>
    {
        "chrome",
        "firefox",
        "iexplore",
        "safari",
        "opera",
        "edge"
    };
    foreach (var singleBrowser in browsersList)
    {
        var process = Process.GetProcessesByName(singleBrowser);
        if (process.Length > 0)
        {
            foreach (Process singleProcess in process)
            {
                IntPtr hWnd = singleProcess.MainWindowHandle;
                int length = GetWindowTextLength(hWnd);
                StringBuilder text = new StringBuilder(length + 1);
                GetWindowText(hWnd, text, text.Capacity);
                Console.WriteLine(text.ToString());
            }
        }
    }
}