2016-07-26 8 views
0

私は公開サイトで作業しています。 http://preview.harriscountyfws.org/Selenium Java Webdriver履歴タブの選択

最も基本的なことに問題があります。 は、以下のコードを使用して、ページ上にある歴史的なタブを選択しようとしました:

JFrame frame = new JFrame(); 
    frame.setAlwaysOnTop(true); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setVisible(true); 
    frame.setVisible(false); 


    // Optional, if not specified, WebDriver will search your path for chromedriver. 
    System.setProperty("webdriver.chrome.driver", "C:\\ChromeDriver\\chromedriver.exe"); 
    WebDriver driver = new ChromeDriver(); 
    driver.get("http://preview.harriscountyfws.org/"); 



    driver.manage().window().maximize(); 

     WebElement tabHistorical; 
     tabHistorical = driver.findElement(By.cssSelector("k-item.k-state-default.k-last.k-tab-on-top.k-state-active")); 
     tabHistorical.click(); 

例外は、そのような要素を述べていません。 私はなぜそれが表示されません。 サイトに移動し、F12を押してください。要素はそこにあります。

+0

'k-item'は要素名ですか? – chrylis

答えて

1

最初にページに移動すると、[履歴]タブは選択されていないため、k-tab-on-topまたはk-state-activeのクラスがなく、クリックしてアクティブなタブを作成したときにのみ取得されます。

この例では、xpathで要素を見つける方がよいでしょうか?例えば

WebElement tabHistorical = driver.findElement(By.xpath("//*[@id=\"rainTab\"]/ul/li[2]/span[2]")); 
+0

それは動作します。私はJavaを学びましたが、Htmlは私にとって中国語に見えます。私のためにxpath( ".....")を分解できますか?あなたが私のためにそれを壊すかどうかにかかわらず、答えは受け入れられるだろうが、あなたができることを私が尋ねると思った。 –

+0

Chromeの開発ツールの要素を右クリックし、[コピー]> [コピーXPath – Josh

+0

]のように選択することでxpathを取得できたと説明できます。それはかなり良い情報です。私のような初心者のために。私はそのすべてのものを理解しようとしていてめまいを起こしていました!どうも! –

関連する問題