我想抓取以下网站http://condorbus.cl/ 通过GEB但出现此错误
org.openqa.selenium.NoSuchElementException:无法找到带ID的元素:radio_solo_ida
这个代码
def browser = params.browser
browser.drive {
go "http://condorbus.cl/"
waitFor(20) { $("div form#ventapasajes").verifyNotEmpty() }
// Find an element and define it
WebElement elementToClick = driver.findElement(By.id("radio_solo_ida"));
// Scroll the browser to the element's Y position
((JavascriptExecutor) driver).executeScript("window.scrollTo(
0,"+elementToClick.getLocation().y+")");
// Click the element
elementToClick.click();
答案 0 :(得分:1)
我不确定您为什么会收到错误我尝试找到并点击ID =' radio_solo_ida'它使用firefox驱动程序工作。
这意味着元素的id =' radio_solo_ida'存在且唯一标识 xpath = // * [@ id =' radio_solo_ida']
所以问题可能与特定浏览器版本或同步或两者的组合有关,我尝试使用FIREFOX 31.0的以下代码并且它可以工作:
public class TestRadioButton {
public static void main(String args[])
{
WebDriver driver= new FirefoxDriver();
driver.get("http://condorbus.cl/");
WebElement elementToClick = driver.findElement(By.id("radio_solo_ida"));
// Scroll the browser to the element's Y position
((JavascriptExecutor)driver).executeScript("window.scrollTo(0,"+elementToClick.getLocation().y+")");
// Click the element
elementToClick.click();
}
}