【问题标题】:Selenium WebDriver Click Sign here (dynamic id) on DocuSign documentSelenium WebDriver 单击 DocuSign 文档上的 Sign here (dynamic id)
【发布时间】:2014-07-14 19:15:03
【问题描述】:

我需要帮助单击 docuSign 文档中的此动态 ID。这是将您带到docuSign文档的代码我只需要知道如何单击Sign Here图像(在第2页上),因为每个签名的ID总是不同的。测试 docuSign 的 URL 是 https://www.docusign.com/demo。这是我要执行的@Test:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;


public class DocusignDemo {

WebDriver driver;
final String url = "https://www.docusign.com/demo";
final String firstName = "first_name";
final String lastName = "last_name";
final String email = "email";
final String phNumber = "phone";
final String jobTitle = "title";
final String company = "company";
final String signItNowButton = "submit_trial_form";
final String reviewDocButton = "ds_hldrBdy_dlgStart_startReview_btnInline";

@BeforeTest
public void setup() {
    driver = new FirefoxDriver();
    driver.manage().window().maximize();
}

@AfterTest
public void teardown() {
    driver.quit();
}

@Test
public void docuSign() {
    driver.get(url);
    sendKeys(firstName, "First");
    sendKeys(lastName, "Last");
    sendKeys(email, "first@last.com");
    sendKeys(phNumber, "555-555-5555");
    sendKeys(jobTitle, "Job");
    sendKeys(company, "Company");
    clickIt(signItNowButton);
    clickIt(reviewDocButton);
    /*
     * How do I click the Sign here image because the id is dynamic and
     * keeps changing"
     */
}

public void sendKeys(String idX, String keys) {

    driver.findElement(By.id(idX)).sendKeys(keys);
}

public void clickIt(String idX) {

    WebDriverWait wait = new WebDriverWait(driver, 30);

    wait.until(ExpectedConditions.elementToBeClickable(By.id(idX)));

    driver.findElement(By.id(idX)).click();
}

}

【问题讨论】:

    标签: java selenium selenium-webdriver testng docusignapi


    【解决方案1】:

    你可以使用类似的东西:

    driver.findElement(By.xpath("//input[@tabtype='SignHere']")).click();
    

    【讨论】:

      【解决方案2】:

      你为什么不按它的类来称呼它?

      driver.findElement(By.partialLinkText("Sign Here")).click();
      

      【讨论】:

      • 按钮错误,在下一页。
      猜你喜欢
      • 1970-01-01
      • 2017-02-26
      • 1970-01-01
      • 1970-01-01
      • 2021-09-03
      • 1970-01-01
      • 1970-01-01
      • 2014-12-05
      • 2016-01-30
      相关资源
      最近更新 更多