1

我在 liferay 中有 jsf portlet 我已经编写了一个硒测试,测试通过了,但是提交按钮在下面的代码中不起作用:

硒代码

 this.driver.get(this.baseUrl);
        this.login();
        this.driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        this.findElementById("category_items").sendKeys("Aplication Complaint");
        System.out.println("----clicked---");
        this.findElementById("subject_items").sendKeys("test");

        this.findElementById("description").sendKeys("ATFDC.Application.Complaint");
        this.findElementById("affected_assets").sendKeys("LDA 13");
        this.findElementById("calendar_date_occured").sendKeys("2013/08/04 19:07");
        this.findElementById("severity_list").sendKeys("All sites down");
        this.findElementById("submit_button").click();
        this.waitUntilAjaxRequestCompletes();
        System.out.println("submit clicked");

XHTML 代码片段:

        <h:panelGroup id="severity_panel_group" styleClass="atf-form-line" layout="block"
            rendered="#{createTicketBaseBean.selectMenus.renderSeverityMenu}"
            style= "#{createTicketBaseBean.selectMenus.showSeverityMenu ? '' : 'display:none'}">
            <atf:selectOneInput componentId="severity_list"
                labelText="#{I18N['key_label_severity']}"
                tooltipText="#{I18N['key_tooltip_severity']}"
                value="#{createTicketBaseBean.ticketModel.severity}">
                <f:selectItems value="#{createTicketBaseBean.selectMenus.severityItems}" />
            </atf:selectOneInput>
        </h:panelGroup>

            <h:panelGroup id="panel_separator" layout="block" styleClass="atf-inline-block atf-w25p atf-vertical-align-top">
                <h:outputText value="#{I18N['key_value_mandatory']}" styleClass="atf-text-not-required" />
            </h:panelGroup>
            <h:panelGroup id="panel_commands" layout="block" styleClass="atf-inline-block atf-w70p">
                <p:commandButton value="#{I18N['key_button_submit_ticket']}"
                    title="#{I18N['key_button_submit_ticket']}" actionListener="#{createTicketBaseBean.createTicketData}"
                    action="#{createTicketBaseBean.createTicket}"
                    styleClass="atf-right" process="@form" update="@form" id="submit_button">
                </p:commandButton>

                <p:commandButton value="#{I18N['key_button_clear']}"
                    title="#{I18N['key_button_clear']}"
                    actionListener="#{createTicketBaseBean.clearProperties}"
                    styleClass="atf-left" global="true"  process="@this" update="@form" immediate="true">
                </p:commandButton>
            </h:panelGroup>
        </h:panelGroup>

输出打印提交点击

-----This is the server log I get in between---

2013 年 8 月 14 日下午 2:56:47 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080 /atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:47 com.gargoylesoftware.htmlunit。 javascript.host.html.HTMLDocument getElementById 警告:getElementById(script1376472407610) 为 Internet Explorer 执行了 getElementByName 2013 年 8 月 14 日下午 2:56:47 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[必要的数据无法完成此操作。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset =[0] 2013 年 8 月 14 日下午 2:56:48 com。gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7 .1.min.js] line=[2] lineSource=[null] lineOffset=[0] Aug 14, 2013 2:56:48 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[The完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null ] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http ://本地主机:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit .javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1。 min.js] line=[2] lineSource=[null] lineOffset=[0] Aug 14, 2013 2:56:48 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[The data required to完成此操作尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset= [0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError 严重:runtimeError:message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日 2: 56:48 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js /jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com。gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7 .1.min.js] line=[2] lineSource=[null] lineOffset=[0] Aug 14, 2013 2:56:48 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[The完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null ] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http ://本地主机:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit .javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1。 min.js] line=[2] lineSource=[null] lineOffset=[0] Aug 14, 2013 2:56:48 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[The data required to完成此操作尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset= [0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError 严重:runtimeError:message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日 2: 56:48 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js /jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com。gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7 .1.min.js] line=[2] lineSource=[null] lineOffset=[0] Aug 14, 2013 2:56:48 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[The完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null ] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http ://本地主机:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit .javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1。 min.js] line=[2] lineSource=[null] lineOffset=[0] Aug 14, 2013 2:56:48 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[The data required to完成此操作尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset= [0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError 严重:runtimeError:message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日 2: 56:48 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js /jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com。gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7 .1.min.js] line=[2] lineSource=[null] lineOffset=[0] Aug 14, 2013 2:56:48 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[The完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null ] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http ://本地主机:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit .javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1。 min.js] line=[2] lineSource=[null] lineOffset=[0] Aug 14, 2013 2:56:48 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[The data required to完成此操作尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset= [0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError 严重:runtimeError:message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日 2: 56:48 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js /jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com。gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7 .1.min.js] line=[2] lineSource=[null] lineOffset=[0] Aug 14, 2013 2:56:48 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[The完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null ] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http ://本地主机:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit .javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1。 min.js] line=[2] lineSource=[null] lineOffset=[0] Aug 14, 2013 2:56:48 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[The data required to完成此操作尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset= [0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError 严重:runtimeError:message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日 2: 56:48 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js /jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com。gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7 .1.min.js] line=[2] lineSource=[null] lineOffset=[0] Aug 14, 2013 2:56:48 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[The完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null ] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http ://本地主机:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit .javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1。 min.js] line=[2] lineSource=[null] lineOffset=[0] Aug 14, 2013 2:56:48 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[The data required to完成此操作尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset= [0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError 严重:runtimeError:message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日 2: 56:48 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js /jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com。gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7 .1.min.js] line=[2] lineSource=[null] lineOffset=[0] Aug 14, 2013 2:56:48 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[The完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null ] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http ://本地主机:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit .javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1。 min.js] line=[2] lineSource=[null] lineOffset=[0] Aug 14, 2013 2:56:48 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[The data required to完成此操作尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset= [0] 2013 年 8 月 14 日下午 2:56:48 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError 严重:runtimeError:message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:49 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日 2:下午 56:49 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError /StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js ] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:49 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError /StrictErrorReporter runtimeError SEVERE: runtimeError: message=[完成此操作所需的数据尚不可用。] sourceName=[http://localhost:8080/atos-theme/js/jquery/jquery-1.7.1.min.js ] line=[2] lineSource=[null] lineOffset=[0] 2013 年 8 月 14 日下午 2:56:49 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError /

----点击---

  1. 项目清单
4

3 回答 3

0

根据 cegprakash 的回答,我使用这个:

  /**
   * All arguments must not be null.
   *
   * @param root - driver or element
   * @param by - identification of the element we are looking for.
   * @param timeout - timeout in milliseconds.
   */
  protected void waitForElement(final SearchContext root, final By by, final long timeout) {
    LOG.debug("waitForElement(root={}, by={}, timeout={}ms)", root, by, timeout);
    long remainingTime = timeout;
    while (remainingTime > 0) {
      final WebElement element = root.findElement(by);
      if (element != null && element.isDisplayed()) {
        LOG.trace("Element found: {} after {}ms", element, timeout - remainingTime);
        return;
      }
      LOG.trace("Waiting for element for 10ms...");
      try {
        Thread.sleep(10);
      } catch (InterruptedException e) {
        throw new IllegalStateException("Sleeping thread interrupted!", e);
      }
      remainingTime -= 10;
    }
    LOG.error("Waited for {}s, but element '{}' was not found in the context '{}'", timeout, by, root);
    fail("Element not found: " + by + ", did not occure after " + timeout + "ms.");
  }
于 2013-12-16T10:43:59.883 回答
0

尝试将这一行(在Selenium Code中)

this.findElement(By.id("submit")).click(); // Assume the button has the ID "submit" :)

代替

this.findElementById("submit_button").click();
于 2013-08-14T09:59:23.357 回答
0

您必须找到点击提交按钮后出现的标签。您必须等到该标签出现。

public boolean waitForElement(WebElement ele, String xpath, int seconds) throws InterruptedException{
    //returns true if the xpath appears in the webElement within the time
    //false when timed out
    int t=0;
    while(t<seconds*10){
        if(ele.findElements(By.xpath(xpath)).size()>0)
            return true;
        else{
            Thread.sleep(100);
            t++;
            continue;
        }
    }       
    System.out.println("waited for "+seconds+"seconds. But couldn't find "+xpath+ " in the element specified");
    return false;
}
于 2013-08-06T10:36:39.353 回答