我要执行的页面上有以下代码行:
<a href="javascript:clickOnNode(0,4)" shape=""></a><img name="someimage" src="someimage">
这是一个可点击的链接,我想知道如何只运行该代码,而不是使用“ find element by”。
我正在运行的代码在下面,但是不起作用。
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("clickOnNode(0,4);");
对我在这里做错的任何想法吗?
编辑:
这是我当前正在使用的代码。
driver.navigate().to("someWebsite.com");
Thread.sleep(10000);
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("clickOnNode(0,4);");
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("img[name='nodeIcon4']")));
driver.findElement(By.cssSelector("img[name='nodeIcon4']")).click();
这是我运行代码时得到的输出:
org.openqa.selenium.JavascriptException:执行JavaScript出错
并等待nodeIcon4行:
org.openqa.selenium.TimeoutException:预期条件失败:等待By.cssSelector定位的元素的可见性:img [name ='nodeIcon4'](尝试10秒,间隔500毫秒)
我还尝试了运行pburgr的代码
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//a[contains(@name,'nodeIcon4')]")));
driver.findElement(By.xpath("//a[contains(@name,'nodeIcon4')]")).click();
,并出现以下错误:
原因:org.openqa.selenium.NoSuchElementException:无法找到带有xpath == /// a [contains(@ name,'nodeIcon4')]
的元素
进行更多的健全性检查:
我可以根据需要提供更多详细信息。