Jestem nowym użytkownikiem Webbooka firmy Selenium, być może to pytanie jest oczywiste. Jestem po sytuację tak:Korzystanie z webdrivera, aby sprawdzić, czy istnieje element BEZ rzucania wyjątku?
Jeśli element nie istnieje, kliknij go i wróć do strony indeksu:
driver.findElement(By.id("...."])).click();
jeśli nie zostanie wysunięty, pomiń go i wróć do strony indeksu. Test nadal trwa bez żadnego wyjątku.
wiem jedno rozwiązanie do tego:
driver.findElements(By.id("...")).size() != 0
więc próbowałem:
if(driver.findElements(By.id("....")).size() > 0)
{
driver.findElement(By.id("....")).click();
driver.findElement(By.cssSelector("...")).click();
}
else
{
driver.findElement(By.cssSelector("....")).click();
}
okazało się naprawdę brzydki chociaż bo jeśli mam 10 elementów w celu sprawdzenia, ten warunek musi być napisane 10 razy.
Jakieś obejście, które sprawi, że będzie zgrabna?
dzięki za informację zwrotną !! Innym problemem jest to, że jeśli składnia jest strasznie powolna ... czy jest jakiś sposób, aby przyspieszyć? – user1282634
OK, więc nie używaj, jeśli instrukcja w ogóle Zamiast tego użyj funkcji try/catch block as: wypróbuj {WebElement elemnt = driver.findElement (By.ID ("..")); elemnt.click(); (Wyjątek e) {// Nic nie robiąc} – Nayan
zrozumiałem ~~ dzięki! – user1282634