我遇到了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();
我想要实现的例外结果是驱动程序搜索元素并单击它。如果找不到,驱动程序会单击可选元素。
答案 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是正确的,应该有效......