2012-02-09 85 views
0

我尝试从Selenium 1(rc)迁移到Selenium 2(WebDriver)。从Selenium1迁移到Selenium2:无法使用XPath或CSS找到任何元素

在其浏览器中打开并运行我已经取代了下面的代码在Firefox的驱动程序:

Selenium selenium = new DefaultSelenium(
    "localhost", 4444, "*firefox", "http://www.yoursite.com"); 
selenium.start(); 

我的问题是硒无法找到使用XPath或CSS的任何元素,只是ID似乎工作至今。我曾尝试使用不同的XPath和CSS定位器,以及DOM,但它们不起作用。 Selenium迁移指南表示,通过XPath或CSS选择器查找元素并不总是有效,但他们似乎根本不适用于我。

下面是一个元件,我试图与CSS标识符我试图使用,这在硒1和硒IDE工作,以确定沿的一个示例:

<div id="GUID_3" class="DA_COMPONENT DA_SPEEDBUTTON" style="line-height: 16px; cursor: default;" title="Actions"> 

css=[title='Actions'] 

回答

0

尝试CSS = DIV [标题=“操作”。您需要指定一个元素以匹配该属性。或者如果你想要任何元素,css = * [title ='Actions']

+0

Selenium CSS定位器是否需要为属性指定类型或通用选择器? '[title ='Actions']'是有效的CSS,并且会与'* [title ='Actions']'相匹配,所以我认为没有理由不应该在这里工作,除非它是Selenium特定的东西。 – BoltClock 2012-02-09 13:36:56

+0

我试过css = div [title ='Actions']在IDE中,它的工作,但在代码中它不 – Ali 2012-02-09 13:41:34

+0

这是一个CSS选择器要求有一个元素。浏览者倾向于猜测你想要什么,但保持严格会让你有更好的工作机会。 http://www.w3.org/TR/CSS2/selector.html – Nialscorva 2012-02-09 13:42:44

0

你可能想看看2.19,它应该使得从1.X到2.X的迁移变得容易得多。

是不是有什么理由不在ID上搜索?无论如何,它快得多。