无法使用.net单击网页中的“提交”按钮

时间:2017-12-30 16:29:13

标签: javascript jquery .net vba

我在微软Visual Studio中使用VB创建自动化,就像应用程序一样 项目路径是Visual Basic> windows classic Desktop> windows窗体 app(.NET框架)。 代码是使用VBA编写的,它是一个获得的形式 用户输入并将其粘贴到webform中,然后单击“提交”按钮并创建票证。 我已经通过VBA excel运行这种自动化。但是由于某些情况我需要将其创建为独立的应用程序。我在点击提交按钮时遇到问题。有人可以帮助我正确地设置代码。

这是从视图源

获取的HTML元素
public class Stackoverflow 
{       
    public static void main(final String[] arguments) throws HeadlessException
    {
        final JFrame frame = new JFrame("Stackoverflow | Question");
        EventQueue.invokeLater(() -> 
        {
            frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            frame.setSize(1280, 720);
            frame.setLocationRelativeTo(null);
            frame.getContentPane().setLayout(new FlowLayout(FlowLayout.CENTER));
            frame.setVisible(true);
            final SimpleAttributeSet set = new SimpleAttributeSet();
            StyleConstants.setForeground(set, Color.RED);
            final JTextPane pane = new JTextPane();
            pane.setPreferredSize(frame.getContentPane().getSize());
            final StyledDocument document = pane.getStyledDocument();
            try 
            {
                int length = 0;
                for (String string : Files.readAllLines(Paths.get("test.rtf")) 
                {
                    document.insertString(length, string, set);
                    length += string.length();
                }
            } 
            catch (BadLocationException badLocationException) 
            {
                badLocationException.printStackTrace();
            }
            frame.getContentPane().add(pane);
            frame.getContentPane().repaint();
        });
    }
}

正如您所看到的,有两个按钮,一个是提交故障单,另一个是保存为新的快速链接。我需要单击“提交票证”按钮。 VBA中使用的早期代码是

    <input type="hidden" name="ticket_type" id="ticket_type" value="" />
    <input type="hidden" name="quicklink_id" id="quicklink_id"value="0"/>
    <textarea name="work_log" style="display:none"></textarea>
    <textarea name="correspondence" style="display:none"></textarea>
    <div id="action_bar" class="cti-search-enabled">
    <div id="button_bar">
    <a class="tt_button orange_button" href="#" onclick="ajax_submit()">
    <span>Submit Ticket</span></a>
    <a class="tt_button" href="#" onclick="build_quicklink()">
    <span>Save as New Quicklink</span></a>

这是我在.net

中的代码
    Call sel.executeScript("ajax_submit()", "javascript")

所以一旦加载了表单,它将显示一个消息框,然后单击提交按钮。但是这显示错误为

严重级代码描述项目文件行抑制状态 错误BC30455未为'Public Overloads Sub ExecCommand(命令为String,showUI As Boolean,value As Object)'的参数'value'指定参数。 My_First

有人可以帮助我解决代码的问题。对不起我是.net的初学者(以及VBA)

1 个答案:

答案 0 :(得分:0)

这似乎可以解决问题:

Me.WebBrowser1.Document.All("ID-Of-The-Button").InvokeMember‌​("Click")