2015-06-09 66 views
0

我希望你能帮助我,我使用硒web驱动程序,并且我想在网站中找到特定的元素。我尝试使用cssSelector和xpath,但我有一个InvalidSelectorException和NoSuchElementException。请参阅以下屏幕截图了解更多详情。无法使用cssSelector和xpath查找元素

I'm trying to locate the BACK TO HOME button

By using firebug I was able to see the underlying HTML code of the BACK TO HOME button

我试图找到BACK TO HOME按钮。 通过使用萤火虫,我能够看到BACK TO HOME按钮的底层HTML代码。 我不熟悉如何处理突出显示的HTML代码,因为大多数情况下,链接通常有一个名称,并且cssSelector = linkText(“链接名称”)可以解决问题,并且快速复制xpath命令可以轻松找到元件。但在这种情况下,cssSelector和xpath都不起作用。

如何找到这种HTML代码?

+0

你使用了什么CSS选择器或XPATH? – TheFisch

+0

您可以使用FF的FirePath插件为页面上的任何元素找到正确的XPATH。 –

+0

@Ivan Litskevich我已经使用了Firepath它可以识别xpath,但是当我将它与java代码一起执行时,它无法识别元素 – zlloyd

回答

1

您可以尝试使用XPath作为

//img[contains(@src,'home.gif')] 

因为这里包含方法用于你可以使用src属性的任何字符串。

+0

我得到了一个InvalidSelectorException异常。这里是我用 'WebElement backToHome = driver.findElement代码(By.xpath( “\\ IMG [含有(@src, 'home.gif')]”));' \t \t \t \t \t \t '如果(backToHome.isDisplayed()) \t \t \t { \t \t \t \t backToHome.click(); \t \t \t}其他 \t \t \t { \t \t \t driver.findElement(By.linkText( “家”))点击()。 \t \t \t} – zlloyd

+0

您正在使用Backward Slash By.xpath(“\\ img [contains(@src,'home.gif')]。请使用正确答案。 – Arun

+0

我将斜杠改为反斜杠,现在我有NoSuchElementException。 – zlloyd

0

我已经解决了这个问题。问题不在xpath上,它在代码上。我试图找到不在页面中的元素。我把我的xpath代码放在元素所在的页面上。

相关问题