如何用Selenium Python将爬取的数字转为单行无空格输出
问题:爬取数字后合并为无空格单行输出
示例HTML代码
<div class="main"> <div class="firstdigitinside"> <span class="firstdigit"> <span class="firstdigithere">1 </span> </span> <span class="seconddigit"> <span class="seconddigithere">2 </span> </span> <span class="thirddigit"> <span class="thirddigithere">3 </span> </span> </div> </div>
现有代码
threedigits = driver.find_element("xpath", ".//div[@class='main']").text print(threedigits, sep="", end="")
当前输出
1 2 3
期望输出
123
解决办法
办法一:清洗已获取的文本内容
.text方法会保留元素内的换行和空白,直接对文本做清洗即可:
threedigits = driver.find_element("xpath", ".//div[@class='main']").text # 直接移除所有换行和空格字符 result = threedigits.replace('\n', '').replace(' ', '') # 或者用拆分过滤的方式,适配任意空白字符场景 result = ''.join([part.strip() for part in threedigits.split()]) print(result)
办法二:精准定位每个数字元素再拼接
直接定位到每个包含数字的子元素,逐个取文本后拼接,避免无关内容干扰:
# 定位所有带digithere类的span元素 digit_elements = driver.find_elements("xpath", ".//div[@class='main']//span[contains(@class, 'digithere')]") # 拼接每个元素的文本(strip去掉首尾空白) result = ''.join([elem.text.strip() for elem in digit_elements]) print(result)
内容的提问来源于stack exchange,提问作者Aslan
相关产品推荐
相关产品推荐

