Я пытаюсь разобраться с clojure в проекте selenium2 / webdriver с помощью оболочки webdriver-clj . для webdriver.
Однако, поскольку веб-интерфейс содержит множество сценариев, мне нужно иметь возможность ждать, пока определенные элементы не будут созданы сценарием, а не при загрузке страницы.
Так что я пытался создать ожидание- для функции в clojure,
Кто-нибудь, имеющий навыки взаимодействия с clojure-java и имеющий представление о том, как реализовать следующий java-код в clojure, чтобы он сочетался с синтаксисом webdriver / by-?
Function presenceOfElementLocated(final By locator) {
return new Function() {
public WebElement apply(WebDriver driver) {
return driver.findElement(locator);
}
};}
// ...
driver.get("http://www.google.com");
WebDriverWait wait = new WebDriverWait(driver, /*seconds=*/3);
WebElement element =
wait.until(presenceOfElementLocated(By.name("q"))
Результат должен сделать что-то подобное возможным
(defn test []
(let [driver (webdriver/new-driver :firefox)]
(webdriver/get driver "http://127.0.0.1/")
(webdriver/wait-for (webdriver/by-name "button"))
))