2013-11-28 98 views
0

使用硒鉻網絡驅動程序我試圖找到下面給出的xpath的鏈接。查找特定文本的鏈接

xpath = '//a[contains(text(),"Home")]' 
driver.find_element_by_xpath(xpath) 

這是鏈接如何在源:

<span class="yyy"> 
<a href="xxx", target="_top"> 
<font>Home</font> 
</a> 
</span> 

我只是想找到的元素,只是爲了確定我在 頁面但這總是返回NoSuchElementException異常給我。 找到這樣一個元素的正確方法是什麼?

回答

2

這是因爲a元素根本不包含任何文本。它包含一個font,其中包含其中的文本。

所以修改它稍微:

//a[font[contains(text(), 'Home')]] 

(雖然你爲什麼使用「包含」我不知道,你應該做的等於比賽要誠實)

+0

我想這和我還試過'// a [font [text()=「Home」]]'。我仍然得到NoSuchElementException。 – deepng

+0

@deepng在這裏工作。它在IFrame中嗎?什麼瀏覽器?您是否嘗試過使用WebDriverWait等待元素? – Arran

+0

是的,我也認爲它可能是iFrame。我會看看我是否可以更改iFrame。我已經嘗試過WebDriverWait,但沒有奏效。 – deepng