我是第一次接触xpath,尝试使用xpath获取" value“的值:
<input type="submit" value=" Search " class="long searchButton" style="width:190px !important;">
虽然通过"type="submit"
很容易找到元素,但如下所示:
browser.find_elements_by_xpath("//*[@type='submit']")
我还不能弄清楚如何获得我需要的值,例如:
browser.find_elements_by_xpath("//*[@type='submit']/@value")
有些意外地给出了一个错误:
expression "//*[@type=\'submit\']/@value" is: [object Attr]. It should be an element
有什么办法解决这个问题吗?
编辑: xpath是正确的,但是它“返回”了一个obj属性,而且由于它不是一个元素,所以它是不被允许的。我找不到像get_attr_by_xpath()这样的方法,或者任何类似的方法。
发布于 2012-10-02 19:37:15
我最终使用了get_attribute("value")
作为:
for i in browser.find_elements_by_xpath("//*[@type='submit']"):
print i.get_attribute("value")
发布于 2015-06-15 22:52:38
我当然知道这是两年前发布的,但我想补充一点,它被遗漏了。selenium提供了内置的单词,可用于提取标记之间的文本或标记内的实际属性值。
${XPATH} xpath=(//td[@title='mytitle']/../td)[2]
下面是一个快速示例:
${THE_NAME}= Get Text ${XPATH}
https://stackoverflow.com/questions/12579061
复制相似问题