如果文本存在,则单击xyz
,否则单击abc
。
我使用下面的if
语句:
if(driver.findElement(By.xpath("/html/body/div[2]/div/div/div/div/div/div/table/tbody/tr[6]/td[2]")).isDisplayed())
{
driver.findElement(By.linkText("logout")).getAttribute("href");
} else {
driver.findElement(By.xpath("/html/body/div/div/div/a[2]")).click();
}
脚本失败,并显示以下错误消息:
Unable to locate element: {"method":"xpath","selector":"/html/body/div[2]/div/div/div/div/div/div/table/tbody/tr[6]/td[2]"}
发布于 2013-02-20 16:33:55
这里我们可以使用try,除了使用python web驱动的函数。请参见下面的代码
webtable=driver.find_element_by_xpath("xpath value")
print webtable.text
try:
xyz=driver.find_element_by_xpath(("xpath value")
xyz.click()
except:
abc=driver.find_element_by_xpath(("xpath value")
abc.click()
发布于 2013-02-20 21:38:29
您需要将"IsDisplayed“包装在一个try catch中。只有当元素存在时,才能调用IsDisplayed。
您可能还希望覆盖隐式超时,否则try/catch将花费很长时间。
发布于 2016-12-22 02:25:50
尝试下面的代码:
Assert.assertTrue(driver.getPageSource().contains(textOnThePage));
https://stackoverflow.com/questions/14974508
复制相似问题