我正在使用selenium网络驱动程序来自动化网页。我的selenium代码没有识别链接。我收到以下错误。
线程“main”组织中出现异常。openqa。硒。NoSuchElementException:没有这样的元素:无法定位元素:{“method”:“xpath”,“selector”:“/html/body/font/font/b/a[2]”(会话信息:chrome=44.0.2403.89)
这是我正在使用的代码。
public static void main(String[] args)
{
System.setProperty("webdriver.chrome.driver","C:\\Program Files (x86)\\Google\\Chrome\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("url");
driver.findElement(By.xpath("/html/body/font/font/b/a[2]")).click();
}
提前谢谢
有两种可能的情况
1) 您可能键入了错误的url
2) 预期的元素xpath错误。
请验证您的xpath
本手册:https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl?hl=en
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "C:\Program Files (x86)\Google\Chrome\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("Valid url");
driver.findElement(By.xpath("your valid XPATH")).click();
driver.close();
}
如果您将NoSuchElementException
作为您提供的异常,可能有以下原因:-
>
可能您使用不正确的xpath
进行定位,因此您需要共享超文本标记语言以获得更好的定位器解决方案。
可能是在您要查找元素时,它不会出现在DOM上,因此您应该实现WebDriverWait,直到元素可见并可单击,如下所示:-
WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement el = wait.until(ExpectedConditions.elementToBeClickable(By.linkText("Duty Office")));
el.click();
可能此元素在任何frame
或iframe
中。如果是,您需要在找到元素之前切换该frame
或iframe
如下:-
WebDriverWait wait = new WebDriverWait(driver, 10);
//Find frame or iframe and switch
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt("your frame id or name"));
//Now find the element
WebElement el = wait.until(ExpectedConditions.elementToBeClickable(By.linkText("Duty Office")));
el.click();
//Once all your stuff done with this frame need to switch back to default
driver.switchTo().defaultContent();
希望对您有所帮助……:)
但它不起作用并抛出NoSuchElementException NoSuChelementException:消息:找不到元素:{“Method”:“XPath”,“Selector”:“//A[@href=\”WLSwitchInterFace0.wl\“]”}
问题内容: Selenium WebDriver出现问题。我尝试单击窗口页面外部的链接(您需要向上滚动才能看到它)。我当前的代码是相当标准的: 我知道我可以向上滚动,并且在这种情况下可以使用。但是,如果您有很长的项目列表,则不必知道向下滚动的距离。 有什么方法可以单击页面可见部分之外的链接(但是如果滚动,该链接将可见)? 附带说明,我使用的是Firefox,但我计划也使用IE7 / 8/9和Chr
当我运行此代码时,会出现以下错误:- 组织。openqa。硒。StaleElementReferenceException:stale元素引用:元素未附加到页面文档 我也尝试了含蓄的等待,但得到了同样的问题。
我突然觉得点击链接有问题。这是以前的工作,但现在不是,我不能找出什么是错的。 这是链接的定义方式: 这是我点击链接的代码。其中有几个,我想做的是获取所有这些,这样我就可以遍历所有这些。 它没有通过List语句。它就坐在那里。有什么想法吗?
问题内容: 今天,我正在尝试测试一个可在Google主页(www.google.co.in)上使用的gmail链接。我能够启动fierfox窗口,并且能够执行将我带到Google主页的第一步,但是在此之后什么都没有发生,我也没有遇到任何运行时错误或日食异常。不知道webdriver发生了什么。我遇到了我已经在stakwave上发布的另一个程序的问题,因此,如果可以,请查看此链接- 为什么我的测试抛
问题内容: 我需要为移动设备构建一个网页。我只有一件事还没有弄清楚:如何通过单击文本触发电话? 是否可以像电子邮件标签一样输入一个特殊的URL ? 特定于设备的解决方案不是首选。 我知道iPhone会自动识别电话号码并为此创建一个链接,但是如果这也可以用于图像…以及大多数移动设备,那就太好了。 问题答案: 大多数现代设备都支持tel:方案。因此,使用它应该很好。 如果您想将其用于图像,标签可以像处