【发布时间】:2017-04-26 21:58:25
【问题描述】:
这是我使用 Firebug 检查元素时的样子
当我在 xpath 中尝试相同的语法时,它会选择结果页面 2。我在 selenium IDE 中尝试了相同的方法并单击查找,但在执行代码时它会选择结果页面 2。我得到没有这样的元素例外
Xpath 语法://a[contains(@href,'/jobs?q=qa+engineer&l=Renton%2C+WA&start=10')]/span[contains(@class,'pn')][text()='2']
public void jobSearch(){
WebDriver driver= new FirefoxDriver();
driver.get("https://www.indeed.com");
driver.findElement(By.id("what")).sendKeys("QA Engineer");
driver.findElement(By.id("where")).clear();
driver.findElement(By.id("where")).sendKeys("Seattle,WA");
driver.findElement(By.id("fj")).click();
driver.manage().timeouts().implicitlyWait(25, TimeUnit.SECONDS);
driver.findElement(By.xpath("//a[contains(@href,'/jobs?q=qa+engineer&l=Renton%2C+WA&start=10')]/span[contains(@class,'pn')][text()='2']")).click();
感谢您的宝贵时间和宝贵建议。
【问题讨论】:
-
嗨,你确定你的 xpath 匹配一个且只有一个元素吗? Selenium 尝试单击第一个元素。如果它没有显示或无法点击,那么你得到一个异常是正常的。
-
1 个匹配节点,是我在 firepath 中使用该语法时看到的。谢谢
-
您正在搜索西雅图,但在 xpath 中您使用的是 Renton。修改您的 xpath 并尝试使其在搜索中可重用。
标签: selenium xpath selenium-webdriver selenium-firefoxdriver