selenium处理上传控件、不能操作的windows控件

三种方式:

1、标准上传控件 input type=’file‘,使用sendkeys(“uploadfile_name”);

2、非标准控件,使用java.awt.Robot键盘处理。回车、Tab、粘贴等。
/**
* 模拟键盘回车事件
*
* @throws AWTException
*/

public void KeyEventEnter() throws AWTException {
    Robot robot = new Robot();
    robot.keyPress(KeyEvent.VK_ENTER);
}

/**
* 复制变量值到剪贴板,并粘贴
*
* @throws AWTException
*/

public void KeyEventClipboard(String str) throws AWTException {
    Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();
    Transferable t = new StringSelection(str);
    cb.setContents(t, null);

    Robot robot = new Robot();
    robot.keyPress(KeyEvent.VK_CONTROL);
    robot.keyPress(KeyEvent.VK_V);

    robot.keyRelease(KeyEvent.VK_V);
    robot.keyRelease(KeyEvent.VK_CONTROL);
}

3、使用工具Autoit v3生成.ext可执行文,在java脚本中执行代替操作。
//cmd为执行文件。c:\upload.exe
public void autoit(String cmd) {
try {

        Runtime.getRuntime().exec(cmd);
    } catch (IOException e) {
    }
}

猜你喜欢

转载自blog.csdn.net/qq_27468305/article/details/78380158
今日推荐