org.openqa.selenium.NoSuchElementException:无法找到元素:{“ method”:“ xpath”,“ selector”:“ .//* [

时间:2018-10-11 12:07:45

标签: eclipse selenium selenium-webdriver automated-tests testng

我正在尝试使旅行应用程序自动化。我使用用户名登录,并尝试单击书本旅行。但是在我尝试点击旅行时显示以下错误。

  

失败:BookTravel org.openqa.selenium.NoSuchElementException:无法   查找元素:   {“方法”:“ xpath”,“选择器”:“。//*[@id ='ctl00_mnuTraveln0'] / table / tbody / tr / td / a”}

屏幕截图

enter image description here

1 个答案:

答案 0 :(得分:1)

我希望你知道C#, 该代码可能会对您有所帮助,

Driver.FindElement(By.XPath("*//a[text()='Book Travel']"));

在Java中,

driver.findElement(By.xpath("*//a[text()='Book Travel']"));

检查这可能有帮助,

driver.findElement(By.xpath("*//a[@href='TravelRequest.aspx?PID=1']"));
driver.findElement(By.xpath("*//a[contains(@class,'MenuItemStyle')]"));
driver.findElement(By.xpath("*//a[contains(@href,'TravelRequest')]"));

如果有框架,以上将不起作用, 您必须计算帧, 使用多少显示帧,

int size = driver.findElements(By.tagName("iframe")).size();
driver.switchTo().frame(size);

也可以使用webelement进行切换

driver.switchTo().frame(WebElement);

在父帧或默认帧之间切换

driver.switchTo().parentFrame();
driver.switchTo().defaultContent();