无法在Selenium 2.47中找到输入文本元素的id,class,name,xpath

时间:2017-02-20 13:08:32

标签: java selenium xpath selenium-webdriver

我是Selenium WebDriver的新手。我无法找到以下输入文本的一个元素。

HTML代码

<input type="text" tabindex="1" size="30" name="flights_search[from_location_name]" id="flights_search_from_location_name" class="flight-from ui-autocomplete-input" autocomplete="off" role="textbox" aria-autocomplete="list" aria-haspopup="true">
<input id="flights_search_from_location" class="wego-from-code" type="hidden" name="flights_search[from_location]" value="">

我试过的代码:

  • 按ID

    driver.findElement(By.id("flights_search_from_location_name")).clear();
    
  • 通过xpath

    driver.findElement(By.xpath("/html/body/div[2]/div[1]/div[1]/form/fieldset/span[2]/input[1]")).clear();
    

我尝试使用idnameclassnamexpath,但无法找到此元素。

1 个答案:

答案 0 :(得分:1)

尝试等到ngAfterContentInit()中显示所需的input字段:

DOM

如果无法找到元素,请检查WebDriverWait wait = new WebDriverWait(driver, 10); wait.until(ExpectedConditions.presenceOfElementLocated(By.id("flights_search_from_location_name"))).clear(); 字段是否位于iframe内。如果是这样,您需要to switch to input才能处理其中的元素