如何更改Web浏览器控件中的下拉框?

时间:2012-09-01 02:59:57

标签: c# drop-down-menu webbrowser-control

所以我想要改变一个列表框,看起来像这样:

enter image description here

如何更改七月价值?我需要100%自动化并将其更改为1月。我在各种网站上做了很多帐户,需要将它们全部更改回同一个生日。是的,我知道我必须找到它的ID等。

2 个答案:

答案 0 :(得分:7)

查看网站的HTML并确定下拉列表的 ID ,例如:

<select id="bdayMonthId" size="1" name="bdayMonth">
    <option value="">Month</>
    <option value="Jan">January</>
    <option value="Feb">February</>
    <option value="Mar">March</>
</select>

要在WebBrowser控件中预先选择下拉列表值,请使用此Winform代码:

webBrowser1.Document.GetElementById("bdayMonthId").SetAttribute("value", "Feb");

答案 1 :(得分:0)

我对你的问题有点困惑。如果您只想更改HTML中的元素,Jeremy的答案是最好,最简单的方法。如果你想调用文档的javascript,这应该有效:

我们假设webbrowser的文档包含以下HTML:

<html>
    <head>
    <title>Invoke Test</title>
    </head>
    <body>
        <div id="testdiv">Waiting...</div>
        <script>
            function changeDate(date) {
                var x=document.getElementById("testdiv");
                x.innerHTML = date;
            }
        </script>
    </body>
</html>

要调用webbrowser文档的javascript方法,您可以使用以下内容:

private void button1_Click(object sender, EventArgs e)
{
    object o = webBrowser1.Document.InvokeScript("changeDate('june')");
}

不需要System.Web,ASP,ScriptManagers或Interop。控制web浏览器和文档对象和事件所需的所有工具都随webbrowser控件一起提供。