[英]Selenium Web Driver with Java
如何在Selenium Web驱动程序中的Kayak.co.in/flights/单向页面中识别“搜索”。
driver = new FirefoxDriver();
driver.get("https://www.kayak.co.in/");
driver.manage().window().maximize();
driver.findElement(By.xpath("//a[@href='/flights']")).click();
driver.findElement(By.xpath("//label[@title = 'One-way']")).click();
driver.findElement(By.xpath("//*[contains(@id='-submit')]")).click();
driver.quit();
执行上面的代码后,获取以下异常:
Exception in thread "main" org.openqa.selenium.NoSuchElementException:
Unable to locate element: {"method":"xpath","selector":"//*[contains(@id='-
submit')]"}
您应该在调用元素以使其精确定位并使用moveToElement命令时声明一个WebElement,而不是简单地调用FindElement.By.xxxxx ex:
//*** Calling a WebElement and using moveToElement command***//
WebElement (anyElementname) = browser.findElement(By.partialLinkText("xxxxxxxxxxx"));
action.moveToElement(anyElementname).perform();
//*** Waiting for 8 seconds***//
Thread.sleep(8000, 80000);
您可以使用“等待”来提供页面加载时间以及元素之间的交互
我正在为您转换第一个xpath(flights)命令。 您可以用相同的方式进行其余操作:
WebElement flights = driver.findElement(By.xpath("//a[@href='/flights']")).click();
action.moveToElement(flights).perform();
不要忘记导入相关库,例如要执行操作,您必须导入:
import org.openqa.selenium.interactions.Actions;
让我知道它是否对您有用。 干杯!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.