【问题标题】:Scrape the <p> tag using Python Selenium使用 Python Selenium 抓取 <p> 标记
【发布时间】:2017-11-13 06:57:39
【问题描述】:

我有一个要求提取

标签来自 HTML。但是我无法完成它。 这是 HTML:

<div class="small-12 columns" id="gennedword-container">
    <p class="text-center" id="gennedword">
        Press "New Word"
    </p>
</div>

我尝试使用以下内容,但没有得到文本。

word = driver.find_element_by_xpath('//*[@id="gennedword"]')
print(word.get_attribute('text'))
print(word.get_attribute('innerHTML'))

它返回的只是None,而对于 innerHtml 我得到了 -

<img src="/wordgenerator/loading.gif" alt="Loading..." style="vertical-align:middle;">

【问题讨论】:

  • innerHtml 有什么要求??
  • 显然 word.get_attribute('text') 不适用于锚标签
  • 我要提取 - 按“新词”

标签: python html selenium web-scraping


【解决方案1】:

根据您的问题,您正在尝试抓取&lt;p&gt; 标签并提取文本Press "New Word"。为此,您可以使用以下代码行:

print(driver.find_element_by_xpath("//div[@id='gennedword-container' and @class='small-12 columns']/p[@id='gennedword' and @class='text-center']").get_attribute('innerHTML'))

【讨论】:

  • 谢谢。我试过代码。但它返回以下
  • 它不会返回“新词”,因为不知何故... gennedword id 没有指向元素
  • 我猜有多个元素具有相同的 ID
  • 有没有办法做到这一点。我对此很陌生。
  • 你能不能在检查员的控制台中做一个 $("#gennedword")...然后自己看看它返回了多少元素..
【解决方案2】:

我能够解决这个问题。 添加睡眠1秒,文字出现。

感谢大家的帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-18
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    • 2020-01-10
    相关资源
    最近更新 更多