首页 > 解决方案 > 如何使用 Selenium 仅获取依赖内容(不包括引用内容)

问题描述

我想知道要获取哪些内容不包括引用内容。

https://forumd.hkgolden.com/view.aspx?type=BW&message=7219211

下图是例子

在此处输入图像描述

我只想得到“唔提冇咩人记得”,但是我用下面的代码会得到两个内容。

content = driver_blank.find_element_by_xpath('/html/body/form/div[5]/div/div/div[2]/div[1]/div[5]/table[24]/tbody/tr/td/table/tbody/tr/td[2]/table/tbody/tr[1]/td/div')
print(content.text)

以下代码是我要捕获的内容:

<div class="ContentGrid">
<blockquote><div style="color: #0000A0;"><blockquote><div style="color: #0000A0;">腦魔都俾你地bam咗啦<img data-icons=":~(" src="/faces/cry.gif" alt=":~("></div></blockquote><br>珠。。。。。&lt;/div></blockquote><br>唔提冇咩人記得
<br><br><br>
</div>

在此处输入图像描述

谁能帮我?谢谢~~~

的方法可以not(starts-with解决吗?

标签: python-3.xvisual-studioseleniumselenium-webdriver

解决方案


使用下面的代码行仅提取文本节点内容

element = driver.find_element_by_css_selector('div.ContentGrid')
text = driver.execute_script("return arguments[0].childNodes[3].textContent", element);
print(text)

Selenium 不允许您使用文本节点直接定位元素。尽管您可以使用一些 JavaScript 代码来实现它。

代码说明:

arguments[0].childNodes[3]表示上下文节点的第三个子元素,即div.ContentGrid. 请注意上下文节点的前 2 个子元素是空白的(尝试使用您共享的 HTML 代码),这就是使用索引3的原因。


推荐阅读