2017-02-23 8 views
0

私はセレンを初めて使っています。 isEnabled()によってボタンが有効かどうかをチェックしようとしています。しかし、私がこのプログラムを実行しているときに、 "ボタンの要素を見つけることができません"というエラーが発生しました。isEnabled()が要素の検索に失敗しました

import org.openqa.selenium.By; 
import org.openqa.selenium.JavascriptExecutor; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.chrome.ChromeDriver; 

public class test 
{ 
static WebDriver driver; 
public static void main(String[] args) 
{ 
    System.setProperty("webdriver.chrome.driver", "D:\\rakesh\\software\\selenium browser\\New folder\\chromedriver.exe"); 
    driver=new ChromeDriver(); 
    driver.get("https://app.crossover.com/"); 
    driver.manage().window().maximize(); 
    JavascriptExecutor js= (JavascriptExecutor) driver; 
    js.executeScript("window.scrollBy(0,5500)", ""); 

    driver.findElement(By.linkText("Available Jobs")).click(); 

    Boolean search_btn_ele = driver.findElement(By.xpath(".//*[@id='available-jobs']/div[2]/form/div/div[3]/button")).isEnabled(); 

    if(search_btn_ele.FALSE) 
    { 
     System.out.println("Button is disable before giving search keys"); 
    } 
    else 
    { 
     System.out.println("Button is enable before giving search keys"); 
    } 

    WebElement search_txtfield_ele= driver.findElement(By.xpath(".//*[@id='available-jobs']/div[2]/form/div/div[1]/div/input")); 
    search_txtfield_ele.sendKeys("Chief"); 
} 
} 

答えて

1

使用WebDriverWait存在する要素を待つ:

new WebDriverWait(driver, TimeSpan.FromSeconds(45)).Until(ExpectedConditions.ElementIsVisible((By.Id("ctl00_ContentPlaceHolder1_drp85")))); 
+0

はあなたに@Antonに感謝。私はWebDriverWait wait = new WebDriverWait(driver、5)で質問を解決しました。 wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(expression))) – rocky

+0

うれしいことに、私は助けることができました。質問に答えてマークすることはできますか? –

関連する問題