2016-09-05 9 views
3

クリック可能なWeb要素をチェックしているときに問題が発生しました。 アルファベット順を確認する必要があります。アルファベットの一部はクリック可能で、一部はクリックできません。クリック可能なWeb要素のチェック中にエラーが発生しました

私はループのために、アルファベット「A」xpath「A」 で始まり、アルファベット「Z」までループしています。

が、できるだけ早くアルファベットのAのxpathがあるとして、それがクリックできないし、これによるスクリプト全体が失敗になっているとアルファベット「B」 に行く&パスをクリックします。 AZからアルファベットのシリーズのみBでは、Q、S、X、Y、Zはありません。ここに

コードが

for(int j=3; j<=26;j++) { 
    String T1 =".//*[@id='twctvEl']/div/div/div[1]/ul/li["; 
    String T2 = "]/a"; 
    String T12 = T1+j+T2; 
    chrome.findElement(By.xpath(T12)).click(); 
    String alpha =chrome.findElement(By.xpath(T12)).getText(); 
    System.out.println("checking the alphabet"+alpha); 
} 

ある

NOTEここにアドバイスをしてくださいクリック可能な残りの部分はすべてクリック可能です。

+0

例外が発生したときに発生した例外は何ですか? –

答えて

0

要素がそれに

WebElement letter = chrome.findElement(By.xpath(T12)); 
if (letter.isDisplayed() && letter.isEnabled()) { 
    letter.click(); 
} 
2

をクリックする前に、あなたがクリック可能になるための要素の前に待機を追加することができ、可視および有効であるかどうかをチェックすることができます:あなたがクリックしたときに

for(int j=3; j<=26;j++) 

{ 

    String T1 =".//*[@id='twctvEl']/div/div/div[1]/ul/li["; 
    String T2 = "]/a";   
    String T12 = T1+j+T2;   
    WebElement el = chrome.findElement(By.xpath(T12));   
    WebDriverWait wait = new WebDriverWait(driver, timeout);    
    WebElement el= wait.until(ExpectedConditions.elementToBeClickable(element)); 
    el.click();   
    String alpha =el.getText();  
    System.out.println("checking the alphabet"+alpha); 

} 
0

まあ、それはと思われます要素 "A"は、別のページまたはコンテキストに移動します。このため、次回の反復では、クロムドライバはxPathを使用して要素 "B"を見つけることができません。

関連する問題