Selenium:从XPath检查器复制XPath时返回null元素
问题描述:
我试图找到使用XPath
的元素。我用XPath
检查器并复制了XPath
。 Selenium IDE可以通过这种方式找到元素,但以下Java代码不会返回任何元素。Selenium:从XPath检查器复制XPath时返回null元素
有人可以帮助我在这方面。
WebDriver driver = new FirefoxDriver();
WebElement element = driver.findElement(By.xpath("id('mResources')/x:a")) ;
element.click();
感谢
答
或者作为答案更好。我的Java代码,我impelemented“更好”找到办法
private Webelement foundElement;
public WebElement find(By by){
for (int milis=0; milis<3000; milis = milis+200){
try{
foundElement = driver.findElement(by);
}catch (Exception e){
try {
Thread.sleep(200);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}
}
在我的代码
后来我有类似:
WebElement element= find(By.xpath("id('mResources')/x:a"));
element.click();
的find()
不一样findElement
但在循环中,每200毫秒,最多3秒。
IDE与Java Webdriver之间最大的区别在于webdriver不会等待页面正常加载。你有没有在你的代码中等待? – 2012-02-15 10:00:55
'WebDriver driver = new FirefoxDriver(); WebElement element = driver.findElement(By.xpath(“id('mResources')/ a”)); element.click();'试试这个。 – 2017-09-11 07:25:56