小编PiE*_*PiE的帖子

上传文件不起作用 - 需要帮助

我正在尝试使用WebBrowser控件上传文件(图像).似乎无法做到并需要一些帮助.

这是Html:

<form action="https://post.testsite.com/k/IOkurrwY4xGI_EJMbjF5pg/zMNsR" method="post" enctype="multipart/form-data">
    <input type="hidden" name="cryptedStepCheck" value="U2FsdGVkX18yNzEwMjcxMJdrv2IidjtpGSCPzHNblWk02eJAJ6DFXFXic-Am1lTPMYL7k7XDoH0">
    <input type="hidden" name="a" value="add">
    <input class="file" type="file" name="file" multiple="multiple">
    <button class="add" type="submit" name="go"  value="add image">add image</button>
</form>
Run Code Online (Sandbox Code Playgroud)

这是C#代码......

        elements = webBrowser.Document.GetElementsByTagName("input");
        foreach (HtmlElement file in elements)
        {
            if (file.GetAttribute("name") == "file")
            {
                file.Focus();
                file.InvokeMember("Click");
                SendKeys.Send("C:\\Images\\CCPhotoID.jpg" + "{ENTER}");
            }
        }
Run Code Online (Sandbox Code Playgroud)

请注意,文件上载按钮出现,但无法在文件名区域中输入任何文件名.

.net c# file-upload webbrowser-control winforms

4
推荐指数
1
解决办法
7326
查看次数

C#WebBrowser控件 - 表单提交不使用InvokeMember("点击")

我正在使用自动测试脚本,并使用WebBrowser控件.我试图在用户接受服务条款时提交以下HTML并进行测试:

    <form action="http://post.dev.dealerconnextion/k/6hRbDTwn4xGVl2MHITQsBw/hrshq" method="post">
        <input name="StepCheck" value="U2FsdGVkX18zMTk5MzE5OUgFyFgD3V5yf5Rwbtfhf3gjdH4KSx4hqj4vkrw7K6e-" type="hidden">
        <button type="submit" name="continue" value="y">ACCEPT the terms of use</button>
        <button type="submit" name="continue" value="n">DECLINE the terms of use</button>
    </form>

    // Terms of Use Information

    <form action="http://post.dev.dealerconnextion/k/6hRbDTwn4xGVl2MHITQsBw/hrshq" method="post">
        <input name="StepCheck" value="U2FsdGVkX18zMTk5MzE5OUgFyFgD3V5yf5Rwbtfhf3gjdH4KSx4hqj4vkrw7K6e-" type="hidden">
        <button type="submit" name="continue" value="y">ACCEPT the terms of use</button>
        <button type="submit" name="continue" value="n">DECLINE the terms of use</button>
    </form>
Run Code Online (Sandbox Code Playgroud)

这是C#中的代码,但不提交表单.

            HtmlElementCollection el = webBrowser.Document.GetElementsByTagName("button");
            foreach (HtmlElement btn in el)
            {
                if (btn.InnerText == "ACCEPT the terms of use")
                {
                    btn.InvokeMember("Click");
                }
            }
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激.谢谢.

c# forms automation submit webbrowser-control

4
推荐指数
1
解决办法
1万
查看次数