0

我正在尝试使用 Python 中的 Selenium 从 html 页面上的类中提取文本。在这样做的同时,我的代码还从其子类中提取文本。

下面是我正在使用的代码:

monthlyprice = browser.find_element_by_class_name('tila-container').text

HTML 片段:

<div class="tila-container tila-term header7a">
+ $8
<sup class="super-decimal-price">25</sup>
x 24/mo. If you cancel wireless service, remaining balance on phone becomes due. 0% APR O.A.C for well-qualified buyers. Qual’g service req’d.
</div>

上面粘贴的一段 HTML 代码是导致问题的代码,我想提取tila-container类下提到的文本值+ 8 美元,但我的代码在其子类super-decimal-price下给了我文本,我也没有不想在这个子类之后提到从“x 24/mo”开始的文本。

人们帮助我解决这个问题。

4

1 回答 1

1

它很难。就 webdriver 而言,child 之前和之后的文本<span>同样是文本内容的有效部分;并且它没有返回文本内容的点点滴滴的方法。

我会尝试的是:

  1. 使用方法获取 div 的完整内部 html。
  2. 使用字符串操作将其分为三个部分;之前<span><span>本身,和之后<span>

第一部分相当简单;有关如何获取单个元素的 html 源,请参阅使用 Python 在 Selenium WebDriver 中获取 WebElement的 HTML 源。

第二部分也不是太难;使用 python 的字符串函数应该很容易。但是,如果内部文本的格式更加多变(即,不只是每次都使用 text-span-text),它就会变得复杂。

祝你好运!

于 2013-08-07T09:49:22.887 回答