Selenium抛出元素未找到的异常

时间:2018-02-20 23:28:18

标签: java selenium-webdriver

我是selenium的新手,并试图自动化一些场景。我写了一个代码来在字段中插入文本,但问题是当我通过xpath,id或name搜索dom中的元素但是当我运行我的脚本时,元素会显示。

我得到了一个"没有找到这样的元素"错误。下面是我的代码,下面是XML。

我的代码:

public void SearchByZipCode(String Zipcode) {
        WebElement addressfield = driver.findElement(By.name("addressline"));
        addressfield.sendKeys(Zipcode);
        WebElement search = driver.findElement(By.id("locator_submit"));
        search.click();
        WebElement result = driver.findElement(By.xpath("//div[@id='panel']//span[2]"));
        String text = result.getText();

        if (text.contains(Zipcode)) {
            System.out.println("Passed! Expected results for: " + Zipcode + "Actual result displayed for: " + text);
        } else {
            System.out.println("Failed! Expected results for: " + Zipcode + "Actual result displayed for: " + text);
        }

HTML:

    <input tabindex="3" style="padding:8px; width:90%; border:1px solid 
    #cdcdcd;" class="addressentry" type="text" size="40" name="addressline" 
    id="inputaddress" value="Enter street address, city, state or ZIP" 
    onclick="clear_inputbox(this);">

1 个答案:

答案 0 :(得分:0)

我建议先使用方法,它会等待此元素出现并变为活动状态。然后输入您的值。 此外,最好使用ID作为选择器,因为它在您的页面中可用。