无法使用Selenium上传文件

时间:2019-02-23 09:52:44

标签: java selenium webdriver

我正在尝试上传pdf文件,但会引发异常:

  

线程“主”中的异常org.openqa.selenium.WebDriverException:   错误未知:无法聚焦元素

下面是代码:

public class FileUploadPopUp {
    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "G://ChromeDriver//chromedriver.exe");

        WebDriver driver=new ChromeDriver();
        driver.manage().window().maximize();

        driver.get("https://pdf2doc.com/");

        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

        driver.findElement(By.id("pick-files")).sendKeys("F:\\Selenium Complete Notes.pdf"); 
    }

}

这是自动执行文件上传操作。我要上传pdf文件。有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

要上传文件,必须使用文件类型为function remove_product_description_add_cart_button() { if ( is_product() && get_post_meta( $post->ID, '_no_addcart_product', true ) == 'yes' ) { remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 ); } add_action('wp','remove_product_description_add_cart_button'); 的元素,但是您的input选择器为pick-files,这就是为什么会出错的原因。使用div CSS选择器:

input[type=file]

答案 1 :(得分:0)

如果文件输入不可编辑-您可以尝试使用JS更改value属性:

((JavascriptExecutor) driver).executeScript("arguments[0].setAttribute('value', 'F:\\Selenium Complete Notes.pdf');", element);