我正在使用 Python 和 Selenium,使用 xpath 类选择器我目前能够找到包含我希望记录的文本的特定 div。
问题是这个 div 可能没有任何信息(我目前处理的信息)或包含 1-3 个我无法访问的文本。我想做的是拉出所有文本,包括跨度内的文本。
示例 HTML:
<div class="desktop-product-list-item__PotencyInfo-sc-8wto4u-14 hdncuE">
<span class="grey-caps-text-sc-91lz0n-0 huWIpn">TAC</span>
28.3% |
<span class="grey-caps-text-sc-91lz0n-0 huWIpn">THC:</span>
26.2%
</div>
当前的 XPATH:
potencyList = response1.xpath('//div[contains(@class, "__PotencyInfo-sc-")]/text()').getall()
使用我当前的 xpath,我只提取数字“26.2”和“28.3”,因为“TAC:”文本和“THC:”文本在跨度内。我的目标是按顺序提取所有文本,然后根据需要使用正则表达式进一步操作。
我相信我可以直接瞄准跨度,但我不确定当我考虑到它们的不同数量时我会怎么做。
还应该注意我正在使用 Chromedriver.
任何见解将不胜感激。