2017-02-09 12 views
1

Как загрузить файл в браузере без браузера, используя класс робота в selenium java, поскольку метод sendkeys() не работает в моем случае. Я использую Firefox и селен веб Java драйвера для моего сценарияКак загрузить файл в браузере без браузера, используя класс робота в selenium java

+0

Нужно, чтобы загрузить файл, используя 'робота class'? Вы пытаетесь использовать «AutoIT»? –

+0

Не обязательно Пожалуйста, дайте мне знать, как загрузить с помощью AutoIT – sufiya

ответ

0
public static void setClipboardData(String string) { 
    StringSelection stringSelection = new StringSelection(string); 
    Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection,null); 
}   

setClipboardData(path); 
//native key strokes for CTRL, V and ENTER keys 

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

Примечания: Если вы используете обезглавленные браузеры, такие как хром или phantomjs, класс робота возьмут под контроль данного окна и отправить путь в нем. Кроме того, если вы используете autoIT, скрипт будет ожидать появления активного окна. поэтому очевидно, что скрипт будет приостановлен, и он не сможет найти следующий элемент.


AutoIT сценарий

WinWaitActive("Open") 
Send(@ScriptDir & "\logo.png") 
Send("{ENTER}")