2016-07-26 96 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-topk-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

是的。这是相当不错的信息。像我这样的新手。我试图理解所有这些东西,并且头晕目眩!谢谢! –

相关问题