我有一个Selenium Webdriver JUnit Java测试,我无法在Drupal 8表(也有样式)中成功使用定位器。在Firefox中我可以使用Firepath和Xpath检查器来确定并检查xpath确定。但是,当我运行JUnit 4测试时,无法找到它。有趣的是,我第一次运行这个测试它运行正常,但是之后的许多尝试都无法运行。
我已经成功地将xpath等用于此网站中的许多其他测试,但由于某种原因,我无法使其工作。
实际上,无法定位元素消息是针对下一个命令;
driver.findElement(By.id("edit-application-status-1")).click();
但是我知道它在上一个命令上失败了(如下所示),因为它从不点击进入此页面。
代码失败;
driver.findElement(By.xpath(".//*[@id='block-ua-theme-content']/div/div/div[2]/table/tbody/tr[1]/td[2]/a")).click();
也试过了;
driver.findElement(By.cssSelector("a[href='/application-19']")).click();
我已尝试使用明确等待更改为cssSelector
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("a[href='/application-19']")));
滚动到视图中,如下所示;
WebElement element1 = driver.findElement(By.cssSelector("a[href='/application-19']"));
jse.executeScript("arguments[0].scrollIntoView(true);", element1);
答案 0 :(得分:0)
处理Web表可能很棘手,因此最好逐个遍历WebTable的所有元素;然后检查您的元素是否已找到,然后触发您的操作:
List<WebElement> tableElements = driver.findElements(By.xpath(".//*[@id='block-ua-theme-content']/div/div/div[2]/table/tbody/tr[1]/td"));
for(WebElement item : tableElements){
System.out.println("item text : " + item.getText());
if(item.getText().equals("Text of your <a> tag")){
WebElement newItem = item.findElement(By.tagName("a"));
newItem.click();
}
}
答案 1 :(得分:0)
//Click on first item in list tr[1]
System.out.println("Before");
List<WebElement> tableElements = driver.findElements(By.xpath(".//[@id='block-ua-theme-content']/div/div/div[2]/table/tbody/tr[1]"));
for(WebElement item : tableElements){
if(item.getText().equals("Abhimanyujeet")){
WebElement newItem = driver.findElement(By.xpath("/a"));
System.out.println("tableElements" + tableElements);
System.out.println("item" + item);
newItem.click();
}
}
System.out.println("After");
driver.findElement(By.id("edit-application-status-1")).click();
控制台;
在
tableElements[EyesRemoteWebElement:[[FirefoxDriver: firefox on XP (acecd5e9- e491-4afd-9f78-82351e50b9e4)] -> xpath: .//*[@id='block-ua-theme-content'] /div/div/div[2]/table/tbody/tr[1]]]
itemEyesRemoteWebElement:[[FirefoxDriver: firefox on XP (acecd5e9-e491-4afd- 9f78-82351e50b9e4)] -> xpath: .//*[@id='block-ua-theme-content']/div/div/div[2]/table/tbody/tr[1]]
在
跟踪;
org.openqa.selenium.NoSuchElementException: Unable to locate element: #edit\-application\-status\-1