2012-02-09 44 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上搜索?無論如何,它快得多。