在Click Button的机器人框架上找不到定位器

时间:2018-05-10 05:04:02

标签: selenium selenium-webdriver robotframework

我想使用以下关键字

在RIDE上通过机器人框架点击“创建帐户”按钮
  1. 点击按钮ID = SubmitCreate
  2. 点击Button class = btn btn-default button button-medium exclusive
  3. 点击按钮xpath = // * [@ id =“SubmitCreate”]
  4. 在控制台上找不到上面的定位器错误正在显示。

    网站link

    http://automationpractice.com/index.php?controller=authentication&back=my-account

    注意:相同的脚本也适用于Google Chrome浏览器。它不适用于firefox浏览器(版本:59.0.3)。

    标签详情:

    <button class="btn btn-default button button-medium exclusive" type="submit" id="SubmitCreate" name="SubmitCreate">
    							<span>
    								<i class="icon-user left"></i>
    								Create an account
    							</span>
    						</button>

    请你解决。谢谢。

2 个答案:

答案 0 :(得分:0)

根据您分享的HTML,您可以使用以下定位器策略

Click Button xpath="//button[@class='btn btn-default button button-medium exclusive' and @id='SubmitCreate']/span[contains(.,'Create an account')]"

答案 1 :(得分:0)

试试这个 Xpath ,我已经从我的最终验证了这一点并且它运行良好:

//input[@name='back']/following-sibling::button[@name='SubmitCreate']

代码中,您可以像这样使用它:

public static void main(String[] args) throws InterruptedException {

            System.setProperty("webdriver.gecko.driver", "F:\\Automation\\geckodriver.exe");
            driver = new FirefoxDriver();
            driver.manage().window().maximize();
            driver.get("http://automationpractice.com/index.php?controller=authentication&back=my-account");
            WebDriverWait wait = new WebDriverWait(driver, 10);
            wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//input[@name='back']/following-sibling::button[@name='SubmitCreate']")));
            driver.findElement(By.xpath("//input[@name='back']/following-sibling::button[@name='SubmitCreate']")).click();      
    }