如何点击iframe中的按钮/链接?(GeckoFx)

本文关键字:链接 GeckoFx 按钮 何点击 iframe | 更新日期: 2023-09-27 18:23:43

此代码访问iframe并获取源代码。

string content = null;
var iframe = browser.Document.GetElementsByTagName("iframe").FirstOrDefault() as Gecko.DOM.GeckoIFrameElement;
if (iframe != null)
{
    var html = iframe.ContentDocument.DocumentElement as GeckoHtmlElement;
    if (html != null)
        content = html.OuterHtml;
    textBox1.Text = content;
}

我试着输入一些代码

string content = null;
var iframe = browser.Document.GetElementsByTagName("iframe").FirstOrDefault() as Gecko.DOM.GeckoIFrameElement;
if (iframe != null)
{
    var html = iframe.ContentDocument.DocumentElement as GeckoHtmlElement;
    if (html != null)
        content = html.OuterHtml;
    textBox1.Text = content;
    GeckoElementCollection elements = browser.Document.GetElementsByName("username");
    foreach (var element in elements)
    {
        GeckoInputElement input = (GeckoInputElement)element;
        input.Value = "Auto filled!";
    }
}

但它不会工作,因为代码找不到元素。有什么想法吗?

尝试在谷歌上搜索任何iframe示例,但似乎没有任何好的文档。

如何点击iframe中的按钮/链接?(GeckoFx)

为什么要在主文档中查找?你应该在相框里找。

string content = null;
var iframe = browser.Document.GetElementsByTagName("iframe").FirstOrDefault() as Gecko.DOM.GeckoIFrameElement;
if (iframe != null)
{
    var html = iframe.ContentDocument.DocumentElement as GeckoHtmlElement;
    if (html != null)
        content = html.OuterHtml;
    textBox1.Text = content;
    GeckoElementCollection elements = iframe.ContentDocument.GetElementsByName("username");
    foreach (var element in elements)
    {
        GeckoInputElement input = (GeckoInputElement)element;
        input.Value = "Auto filled!";
    }
}