无法找到带ID的元素

时间:2014-10-26 11:55:41

标签: groovy selenium-webdriver web-scraping geb

我想抓取以下网站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();

1 个答案:

答案 0 :(得分:1)

我不确定您为什么会收到错误我尝试找到并点击ID =' radio_solo_ida'它使用firefox驱动程序工作。

这意味着元素的id =' radio_solo_ida'存在且唯一标识 xpath = // * [@ id =' radio_solo_ida']

enter image description here

所以问题可能与特定浏览器版本或同步或两者的组合有关,我尝试使用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();
    }
}