Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Java-在browser.execute(脚本)中使用方法_Javascript_Java_Eclipse_Swt - Fatal编程技术网

Javascript Java-在browser.execute(脚本)中使用方法

Javascript Java-在browser.execute(脚本)中使用方法,javascript,java,eclipse,swt,Javascript,Java,Eclipse,Swt,我有一个包含名称的数组的方法,我使用SWT Browser和Browser.execute()我想填写表单 我的问题: 我想在浏览器中使用generateName()方法。execute()部分而不是TEST as value 方法 /** * generate name, lastname */ public void generateName() { Random generateName = new Random(); String[] name = {"Liam", "E

我有一个包含名称的数组的方法,我使用SWT Browser和
Browser.execute()
我想填写表单

我的问题: 我想在
浏览器中使用
generateName()
方法。execute()
部分而不是TEST as value

方法

/**
 * generate name, lastname
 */
public void generateName() {
   Random generateName = new Random();
   String[] name = {"Liam", "Elias", "Kevin", "Julian", "Linus", "Levi", "Jonas", "Daniel", "Milan", "Maria", "Alexander", "Manfred", "Max", "Jens", "Dennis", "Oliver", "Jan", "Bob", "Henry"};
   String[] lastname = {"Meyer", "Müller", "Eilers", "Gerdes", "Schröder", "Janssen", "Ahlers", "Bruns", "Behrens", "Harms", "Schmidt", "Macke", "Kruse", "Becker", "Lange", "Suhr", "Schulte", "Weber", "Lampe"};

   // debug
   System.out.println(name[generateName.nextInt(19)] + " " + lastname[generateName.nextInt(19)]);
}
带listner的按钮

/**
 * Create contents of the window.
 */
protected void createContents() {
    shell = new Shell();
    shell.setSize(800, 600);
    shell.setText("SWT Application");

    Browser browser = new Browser(shell, SWT.NONE);
    browser.setUrl("www.pseudopage.com/SignUp");
    browser.setBounds(10, 10, 780, 352);

    Button btnNewButton = new Button(shell, SWT.BORDER);
    btnNewButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            browser.execute("document.getElementById('txtFirstName').value=\"TEST\"");
        }
    });
    btnNewButton.setBounds(10, 374, 94, 28);
    btnNewButton.setText("Generate");

}

我不确定我是否理解你的问题。。希望我有:

你可以:

browser.execute("document.getElementById('txtFirstName').value=\"" + generateName() + "\"");
但是generateName必须返回一个值,而不是打印它

public String generateName() {
   Random generateName = new Random();
   String[] name = ...
   String[] lastname = ...

   return name[generateName.nextInt(19)] + " " + lastname[generateName.nextInt(19)];
}

成功了!将方法更改为String而不是void,当然返回。非常感谢。