windows 如何让Internet Explorer加载网页文本

yyhrrdl8  于 2022-11-18  发布在  Windows
关注(0)|答案(1)|浏览(159)

我正在使用.NET 4.8 WebBrowser组件,当使用提交时创建新窗口的网页时,它会创建新的Internet Explorer进程,并带有此新窗口的选项卡。
这对我来说是个问题,因为我需要的是这个新窗口的内容。
我尝试在WebBrowser上使用NewWindow事件,以取消此事件并将WebBrowser组件重定向到所需的NewWindow URL,但它不起作用,因为此网站使用某种形式的应用程序回发,只返回一次结果。
然后我试着用

AutoItX.WinGetText("Window Title"); //Of course I changed this to real window title

但它没有显示一件事,那就是TabPage

的内容
请问有没有办法读取Internet Explorer标签页的内容?
我试过:

AutoItX.WinGetText("Window Title"); //Of course I changed this to real window title

且还

private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
        {
            e.Cancel = true;
            webBrowser1.Navigate("url");
        }

网页:cica.vugk.sk,导航到“vlastnik spravca”,填写“prvé písmeno priezviska”到A,点击“Vytvor LV”,它创建了弹出窗口,我需要的内容,我没有找到任何解决方案如何使用WebBrowser或WebView2访问它。

gudnpqoy

gudnpqoy1#

C#强制WebBrowser在此窗口中打开,并禁止在新窗口中打开。
使用load complete事件将所有链接和表单的目标值更改为“_self”:

private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    foreach (HtmlElement archor in this.webBrowser.Document.Links)
    {
        archor.SetAttribute("target", "_self");
    }
    foreach (HtmlElement form in this.webBrowser.Document.Forms)
    {
        form.SetAttribute("target", "_self");
    }
}

取消新建窗口事件:

private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
     e.Cancel = true;
}

WebBrowser属性设置:

  • 将WebBrowser的AllowWebBrowserDrop设置为false(无拖放)
  • 将WebBrowser的WebBrowserShortcutsEnabled设置为false(禁用快捷键)
  • 将WebBrowser的IsWebBrowserContextMenuEnabled设置为false(禁用右键单击上下文菜单)

相关问题