Selenium如果句子和点击其他找到其他并点击

时间:2015-07-01 12:15:12

标签: java selenium selenium-webdriver

我遇到了Selenium Webdriver的问题。以下代码是我头痛的地方:

    boolean FindPrimary=driver.findElement(By.xpath("//*[@id='started_in_business_view']/p")) != null;

    if(FindPrimary){
        driver.findElement(By.xpath("//*[@id='started_in_business_view']/p")).click();

    }

    else 
        driver.findElement(By.xpath("//*[@id='started_in_business_view']/div")).click();

我想要实现的例外结果是驱动程序搜索元素并单击它。如果找不到,驱动程序会单击可选元素。

2 个答案:

答案 0 :(得分:1)

我假设你在第一行收到了NoSuchElement。

boolean findPrimary=driver.findElements(By.xpath("//*[@id='started_in_business_view']/p")).size() > 0;
if(findPrimary){
        driver.findElement(By.xpath("//*[@id='started_in_business_view']/p")).click();
    }
    else 
        driver.findElement(By.xpath("//*[@id='started_in_business_view']/div")).click();

答案 1 :(得分:-1)

我会用

来做
try{
    driver.findElement(By.xpath("//*[@id='started_in_business_view']/p")).click();
} catch (Exception exc) {
      driver.findElement(By.xpath("//*[@id='started_in_business_view']/div")).click();
}

如果你的xpath是正确的,应该有效......