python - 如何在 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)
解决方案
你使用了错误的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 元素的文本。
推荐阅读
- javascript - 在选择选项更改时隐藏/显示 div 不起作用
- java - JavaFX 在鼠标悬停时显示一个窗格
- prolog - 比较事实值的 Prolog 谓词
- python - Pycharm 由于 SSL 安装包失败
- java - 如何使用 openJDK11 运行 Eclipse?
- android - Intent ACTION_PICK 的可用 URI
- python - 在 Python 中的列表中查找子组中的公共字符串
- python - 使用python从纯文本中提取包含空值的字符串
- php - PHP中Prepared Statement的Unable to Fetch_Assoc(),如果使用Fetch num_rows变为零
- angular - ExpressionChangedAfterItHasBeenCheckedError 悬停在Angular中的任何元素上