2013-09-29 94 views
3

一個子元素,我有這樣的HTML:掌握硒和Python

<div id = "d029384"> 
<span>......</span> 
</div> 

和我的代碼:

elem = browser.find_elements_by_xpath("//div[contains(@id,'d')]") 

除了DIV沒有什麼我的程序在做的工作。我需要更具體。我需要使用span元素。我如何獲得span元素? 每個div的ID都是d +數字。我需要這些數字,所以這就是爲什麼我使用該xpath,但我不知道如何使最終的WebElement指向跨度而不是div。

有人知道嗎?

+0

那是一個醜陋的xpath ..這意味着如果我有,後來在路上,''你的測試將失敗。 – sircapsalot

回答

2

您是否正在尋找合適的div?如果是這樣,來獲取divspan,只需添加/span

elem = browser.find_elements_by_xpath("//div[contains(@id,'d')]/span") 
+0

我以爲你可以做到這一點,但我不確定它會返回哪個元素(div或span)。謝謝。 –

+0

,我不知道該怎麼做...... –

+1

對於XPath,''[']'裏面的東西意味着「這樣的」 - 有點像修改子句。用'/'分隔的路徑部分表示主路徑。主路徑中指定的最後一個元素是最終返回的元素的類型。 – unutbu

3

或者不使用XPath,你可以做(​​如果你有在div一個跨度):

elem = browser.find_element_by_id("d029384").find_element_by_tag_name("span")