Java 我被困在TestCase的一个台阶上。Selenium Web驱动程序

Java 我被困在TestCase的一个台阶上。Selenium Web驱动程序,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我试图在java中使用SeleniumWebDriver自动化一个测试用例,但有一步我遇到了困难。我需要找到一个元素并单击它。我试图通过id、类、csselector、文本来定位它。。。但它不起作用 这就是我所做的: driver.findElement(By.cssSelector("a[href=http://mucs70064.corp.knorr-bremse.com:1080/Windchill/app/#ptc1/site/listUtilities?oid=OR%3Awt.inf.

我试图在java中使用SeleniumWebDriver自动化一个测试用例,但有一步我遇到了困难。我需要找到一个元素并单击它。我试图通过id、类、csselector、文本来定位它。。。但它不起作用

这就是我所做的:

driver.findElement(By.cssSelector("a[href=http://mucs70064.corp.knorr-bremse.com:1080/Windchill/app/#ptc1/site/listUtilities?oid=OR%3Awt.inf.container.ExchangeContainer%3A5&u8=1]")).click();    
driver.findElement(By.cssSelector("div[ext\\:tree-node-id*='site'][ext\\:tree-node-id*='listUtilities'] a")).click();    
driver.findElement(By.className("x-tree-node-anchor")).click();    
driver.findElement(By.className("x-tree-node-indent")).click();          
不幸的是,上面的陈述没有一个起作用。有人知道我该怎么做吗?我制作了一张我的浏览器开发工具显示的图片,但由于我还没有足够的声誉上传它,你可以在下面的链接中看到图片

我真的很感激任何帮助

问候 谢谢
Pablo

我觉得这可能是因为不可选择属性的值为on。您可以等待属性的值更改。我看到的另一个属性是hidefocus=on

编辑:

获取所有链接,然后单击最后一个链接

List<WebElement> links = driver.findElements(By.className("x-tree-node-anchor"));
links.get(links.size()-1); //this will give you the last link

你能发布HTML代码吗?你犯了什么错误?我没有犯错误。只是在毫无问题地运行了部分测试用例之后,我到达了一个步骤,程序无法找到应该单击的元素。我上传了一张照片,上面有我指向元素时显示开发人员工具的信息。你可以在我发布的链接中找到这张照片。你的链接说你无法访问这张相册。好的,我在另一个主机中再次上传。我认为它有效now@pablocasanovas:属性unselectable的值是否发生过变化?问题是,我有一个元素列表,如图所示。我必须选择最后一个元素Diensprogramme。HTML代码当然包含每个元素的信息。我给你看最后两个元素的信息,我的是红色标记的元素。所以,如图所示,每个元素都有一个不可选择或隐藏焦点,我认为这不起作用。你试过linkText吗?如果不是这样的话,那么尝试获取所有链接的列表。我已经编辑了我的答案。谢谢你的回答。我现在在尝试获取所有链接时出错。错误是:类型列表不是eneric,不能用参数@pablocasanovas对其进行参数化:好的,我只是快速搜索了这个错误,发现您的导入应该是java.util.list。还有一个问题。如果元素不是列表中的最后一个元素,情况会怎样。假设我有一个包含15个元素的列表,我想点击元素编号6?它是否类似于links.getlinks.size6.click?
List<WebElement> links = driver.findElements(By.className("x-tree-node-anchor"));
links.get(links.size()-1); //this will give you the last link