问题
I have the folllowing piece of Java in which I want to add a String inside a statement:
     @and ("^I want to change fieldnumber \"([^\"]*)\" , remove whats inside and add the following text: \"([^\"]*)\"$")
    public void testscenario12345(String number,  String text) throws Throwable {
    driver.findElement(By.xpath("//*[contains(@name,'template:view:<INSERT NUMBER STRING HERE>:item:view:1:item:')]")).clear();
    driver.findElement(By.xpath("//*[contains(@name,'template:view:<INSERT NUMBER STRING HERE>:item:view:1:item:')]")).sendKeys(text);
How can I add the number string in the above piece of code? To clarify, If I insert "4" in cucumber, I want the driver to find the element by Xpath, where the @name contains template:view:4:item:view:1:item:
回答1:
What about
driver.findElement(By.xpath("//*[contains(@name,\"template:view:" + number+ ":item:view:1:item:\")]")).clear();
And you probably need the number to be const, that means:
public void testscenario12345(final String number,  String text) throws Throwable {
来源:https://stackoverflow.com/questions/22220036/selenium-java-webdriver-adding-a-string-to-an-xpath