java - 如何处理 <p :fileUpload auto ="true"> with Selenium?

标签 java selenium file-upload primefaces

我正在使用 Primeface 的 (6.1.1) p:fileUpload 组件和 auto="true"。我还没有找到使用 Selenium (3.14.0) 上传文件的解决方案。

xhtml 代码如下所示:

<p:fileUpload id="myUpload" mode="advanced" auto="true"...>

生成的 html 代码如下所示:

<div id="myContainer:myUpload" class="ui-fileupload ui-widget ui-fileupload-responsive">
    <div class="ui-fileupload-buttonbar ui-widget-header ui-corner-top">
        <span class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-left ui-fileupload-choose" tabindex="0" role="button" aria-labelledby="myContainer:myUpload_label">
            <span class="ui-button-icon-left ui-icon ui-c ui-icon-plusthick"/>
            <span id="myContainer:myUpload_label" class="ui-button-text ui-c">Select File</span>
            <input id="myContainer:myUpload_input" name="myContainer:myUpload_input" tabindex="-1" type="file">
        </span>
    </div>
    <div class="ui-fileupload-content ui-widget-content ui-corner-bottom">
        <div class="ui-messages ui-widget ui-helper-hidden ui-fileupload-messages">
            <div class="ui-messages-error ui-corner-all">
                <a class="ui-messages-close" href="#">
                    <span class="ui-icon ui-icon-close"/>
                </a>
                <span class="ui-messages-error-icon"/>
                <ul/>
            </div>
        </div>
        <div class="ui-fileupload-files">
            <div/>
        </div>
    </div>
</div>

我找到了 auto="false"的解决方案,但没有找到 auto="true"的解决方案。我试图将文件路径发送到输入元素:

WebElement element = driver.findElement(By.id("...myUpload_input"));
new Actions(driver).sendKeys(element, mypath).perform();

但这显然是不够的,即使在附加 RETURN 键时也是如此。

我真的被困在这里了。如何做到这一点?

提前致谢!

最佳答案

@kopfarzt 你试过传统方式吗:

WebElement uploadElement = driver.findElement(By.id("uploadfile_0"));
uploadElement.sendKeys("C:\\newhtml.html");

关于java - 如何处理 <p :fileUpload auto ="true"> with Selenium?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52558959/

相关文章:

PHP:如何清理上传的文件名?

java - 从 Spring 2 迁移到 Spring 4 时需要属性 'service'

java - 有没有一种方法可以向 hibernate 集合映射添加一个额外的列?

java - 用于生成 Groovy 源文件的 Java/Groovy API

java - 手机 : Android: How to hit enter after entering a text

angular - 使用 Angular 2 和 Spring MVC 中的其他表单字段上传文件

java - 有没有办法根据包中的所有 java 源文件生成哈希值,然后在运行时在日志消息中使用该值?

java - Jenkins Selenium 作业未并行运行

java - Selenium WebDriver : Wait for complex page with JavaScript to load

ruby-on-rails - 呈现带有错误和文件输入的表单