首页 > 解决方案 > 如何在 Python 中用 selenium 刮掉这条线?

问题描述

嘿,所以我正在使用硒,我试图刮掉这条线:

<em id="home-payOrderCommission" data-spm-anchor-id="portals._cps_home.overview.i0.6da22fe0oBPXYk">US $7.68</em>

我试图刮掉7.68 美元的部分,但我不知道该怎么做,我尝试了元素 ID,但它似乎不起作用

这是我尝试过的:

search = driver.find_element_by_id("portals._cps_home.overview.i0.2e1b2fe03tjTTD").text
print(search)

标签: pythonseleniumselenium-webdriverweb-scraping

解决方案


你使用了错误的ID

改用这个:

id = 'home-payOrderCommission'

在代码中:

search = driver.find_element_by_id("home-payOrderCommission").text
print(search)

或者这里更好的方法是使用Explicit waits

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
wait = WebDriverWait(driver, 10)
print(wait.until(EC.visibility_of_element_located((By.ID, "home-payOrderCommission"))).text)

PS:-

.text 是 Selenium-Python 绑定中可用的一种方法,基本上是在您的情况下获取 ID 标记之间的文本,并且通常用于提取 Web 元素的文本。


推荐阅读