2013-09-29 98 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")