【问题标题】:Cefsharp how to get current URL address? c#Cefsharp如何获取当前的URL地址? C#
【发布时间】:2017-11-29 07:33:00
【问题描述】:

我想获取当前地址并将其放入文本框中。 我找到了此链接,但似乎无法理解任何内容。

http://cefsharp.github.io/api/57.0.0/html/P_CefSharp_WinForms_ChromiumWebBrowser_Address.htm

我非常感谢某人提供的代码 sn-p。这太痛苦了。 我正在使用 WFA。

【问题讨论】:

  • 请分享你迄今为止所做的努力,例如一些代码。
  • 我的浏览器运行良好puu.sh/wuFOg/3ac3a28bda.png 事情是,我想验证链接是否被重定向到一个地方或另一个地方 = 用户是否登录。 (这有点奇怪:))

标签: c# chromium cefsharp


【解决方案1】:

浏览器对象使用属性Address公开地址:

var browser = new ChromiumWebBrowser(...);
var currentAddress = browser.Address;

【讨论】:

  • 我没有找到版本 57 上的 browser.Address 属性,是不是在旧版本上。
  • @Pravin:它应该在版本 57 中仍然可用:cefsharp.github.io/api/57.0.0/html/…
  • @Chrille 67版没有Address属性,如何像webbrowser一样获取DocumentComplete。
【解决方案2】:

你必须听下面的地址更改事件并自己坚持。

this.Browser = new ChromiumWebBrowser();
this.Browser.AddressChanged += Browser_AddressChanged;

private void Browser_AddressChanged(object sender, AddressChangedEventArgs e)
        {
            this.CurrentAddress = e.Address;
        }

【讨论】:

  • 我的最新版本中似乎没有“AddressChanged”事件..?
【解决方案3】:

我用的是71版本和方法:

TextBox1.Text = browser.Address;

似乎有效。如果您仍然遇到此问题,请尝试更新到 71 看看是否有帮助。

“browser”显然是我以编程方式添加的 CefSharp 浏览器控件。 如果您不知道如何执行此操作,则只是以下内容:

CefSharp.WinForms.ChromiumWebBrowser browser = new CefSharp.WinForms.ChromiumWebBrowser("https://google.com/");

【讨论】:

  • 我在 Intellisense 下拉列表中看不到它,但该属性在那里。必须具有 Browsable(False) 属性属性。
猜你喜欢
  • 2023-02-18
  • 1970-01-01
  • 1970-01-01
  • 2018-10-22
  • 2017-05-03
  • 2020-02-17
  • 1970-01-01
  • 2018-01-10
  • 1970-01-01
相关资源
最近更新 更多