c# - 使用网络浏览器点击网页中的按钮

标签 c# browser html getelementbyid invokemember

所以我需要做的就是使用这段代码:

WebBrowser browser = new WebBrowser();
browser.Navigate("www.somthing.com");
browser.Document.GetElementById("ID").InvokeMember("click");

然后我需要在页面中找到按钮的 ID 并输入我的代码,但我的问题是有些按钮没有 ID!那我该怎么办?他们只有 type 和 class 以及其他一些东西,但没有 Id。我意识到有些按钮可能是 java 的,也许这就是为什么我不能用通常的方式点击它们的原因。所以你知道我该怎么做吗?

最佳答案

你说你的按钮元素有一个 className ,你可以像这样得到这个元素:

public Form1()
        {
            InitializeComponent();
            webBrowser1.Navigate("To your register account url");
        }
        int on = 0;
        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            foreach (HtmlElement btn in webBrowser1.Document.GetElementsByTagName("button"))
            {
                if (btn.GetAttribute("className") == "yourclassname")
                {
                    btn.InvokeMember("Click");
                    break;
                }
            }
        }

关于c# - 使用网络浏览器点击网页中的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17334909/

相关文章:

c# - 更改 deedle 框架中的列顺序

c# - Android 到 Web 服务。未传递的值

java - 什么语言? Silverlight/Java/Javascript

使用不同参数执行的 JavaScript 函数

c# - Visual Studio 在运行 Xamarin 应用程序时无法找到 .NET.Core SDK

c# - 代码契约和类型转换

javascript - 检查浏览器中的自定义 URL 方案

javascript - 算法:如何划分网格列宽(如google-chrome)

javascript - OSX 上是否有允许无声打印的浏览器?

firefox - Firefox 中的 HTML5 输入类型 "number"