gpt4 book ai didi

python - 无法从网页获取少量项目

转载 作者:太空狗 更新时间:2023-10-30 01:11:46 25 4
gpt4 key购买 nike

我已经用 python 结合 selenium 编写了一个脚本来解析网页中的一些项目。无论如何我无法让它工作。我所追求的项目(可能)在 iframe 中。我试图切换它,但这没有任何效果。当它到达我尝试切换 iframe 的行时,除了 TimeoutException 之外,我仍然一无所获。我怎样才能让它工作。提前致谢:

这是网页链接:URL

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

url = "replace_with_above_url"

driver = webdriver.Chrome()
driver.get(url)
wait = WebDriverWait(driver, 10)

wait.until(EC.frame_to_be_available_and_switch_to_it((By.ID, "tradingview_fe623")))

for item in wait.until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, ".quick .apply-common-tooltip"))):
print(item.text)

driver.quit()

我要查找的项目所在的元素:

<div class="quick">
<span class="apply-common-tooltip">5</span>
<span class="apply-common-tooltip">1h</span>
<span class="apply-common-tooltip selected">1D</span>
<span class="apply-common-tooltip">1M</span>
<span class="apply-common-tooltip">1D</span>
</div>

这是我期望的输出(当我尝试使用 css 选择器获取它们时它在本地工作):

5
1h
1D
1M
1D

这是它在网络上的样子:

enter image description here

最佳答案

必需的节点位于 2 个嵌套的 iframe 中,因此您需要一个一个地切换到它们。请注意,第二个的 id/name 是动态生成的。只是尝试更换

wait.until(EC.frame_to_be_available_and_switch_to_it((By.ID, "tradingview_fe623")))

wait.until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR, ".abs")))
wait.until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR, "iframe[id^='tradingview_']")))

关于python - 无法从网页获取少量项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47874307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com