我正在尝试使用Java中的Selenium WebDriver单击链接。我的Java:
driver.findElement(By.cssSelector("span[data-seleniumid=\"Address0\"]")).click();
我页面上的HTML如下所示:
<span data-seleniumid="Address0" class="ATAddressLine">1 The Road, Town, City, Postcode</span>
Eclipse中的错误是:
org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"css selector","selector":"span[data-seleniumid=\"Address0\"]"}
由于
答案 0 :(得分:1)
而不是试图逃避内部双引号,而只是使用单引号。
driver.findElement(By.cssSelector("span[data-seleniumid='Address0']")).click();
答案 1 :(得分:0)
我会尝试使用"span.ATAddressLine"
之类的其他选择器。不确定webdriver是否喜欢您的属性"data-seleniumid"
。
答案 2 :(得分:0)
有一个webdriver等待条件,比如等待元素可点击,然后使用上面的代码。
答案 3 :(得分:0)
谢谢你的帮助。该元素未找到,因为它位于iframe弹出窗口中,Selenium正在后面的页面中搜索它。
这篇文章:https://stackoverflow.com/a/32836709/6565982帮助。
对于未来的任何人,我的代码现在都是:
WebElement iFrame= driver.findElement(By.tagName("iframe"));
driver.switchTo().frame(iFrame);
// Select an address
driver.findElement(By.cssSelector("span[data-seleniumid=\"Address0\"]")).click();
// Switch back to the default page
driver.switchTo().defaultContent();
再次感谢。