Python / Selenium:从XPath检索文本内容时的空白问题(规范化空间)

时间:2016-01-12 15:04:00

标签: python xml selenium xpath

对于使用XPath Selenium Python的相对<td> UCITS IV-Konform </td>网络抓取器实施,我遇到了一些困难。

从这个Börse Frankfurt web page开始,我希望单元格中的文本与<td class="text-right"> Ja </td>相邻,即单元格中显示None的文本。

我已经测试过我使用Freeformatter的XPath,它表明我的XPath是正确的。

导航到页面工作正常。但是,当我尝试检索文本内容时,我得到from selenium import webdriver from selenium.common.exceptions import NoSuchElementException driver = webdriver.Firefox() driver.get("http://www.boerse-frankfurt.de/etp/db-x-trackers-STOXX-GLOBAL-SELECT-DIVIDEND-100-UCITS-ETF-1D-LU0292096186") try: find_value = driver.find_element_by_xpath("//td[text()=' UCITS IV-Konform ']/following-sibling::td").text except NoSuchElementException: find_value = None print find_value 。显然,它没有找到XPath。

回复后修改:问题是由于空白导致/尾随文本内容。

a

2 个答案:

答案 0 :(得分:1)

尝试XPath "//td[normalize-space(.) = 'UCITS IV-Konform']/following-sibling::td"因为我认为该单元格中有很多前导和尾随空格。

答案 1 :(得分:1)

尝试在xpath中使用contains函数:

"//td[contains(text(), 'UCITS IV-Konform')]/following-sibling::td"

对此here有一个很好的解释。