如何从Selenium和python中的文件对话框中选择文件

时间:2019-05-20 05:38:25

标签: python selenium

我有一个表单,其中<input type="file">不可见,但是有一个可见的“浏览”按钮。我找不到文件元素并通过sendKeys(“ filename”)更新其值。

我可以使用硒单击“浏览”按钮,这将打开一个文件对话框。如何在此打开的文件对话框中选择一个文件并关闭当前对话框窗口?

Python 3.6 硒3.0 火狐浏览器 Mac OS。

1 个答案:

答案 0 :(得分:0)

打开对话框后,可以使用以下代码通过粘贴文件的位置来浏览文件:

public static void copy(String text)
    {
     String myString = "file location";
     StringSelection stringSelection = new StringSelection(myString);
     Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
     clipboard.setContents(stringSelection, null);
    }

public static void paste() throws AWTException
    {
        Robot robot = new Robot();

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