gpt4 book ai didi

python - 无法从网页中获取一定数量的正确值

转载 作者:行者123 更新时间:2023-11-28 18:15:19 25 4
gpt4 key购买 nike

我使用 selenium 在 python 中编写了一个脚本来获取一定数量的转换值。当较早的放在占位符中时,金额会产生转换后的值(value)。新产生的值与数量相邻。当我在该占位符中手动输入任何金额时,我会相应地得到一个转换后的值,但是当我以编程方式执行相同操作时,该值保持不变,因此我的抓取器将 0 作为值。我怎样才能让它发挥作用?

该网页的链接:weblink

我试过的脚本:

from selenium.webdriver import Chrome
from contextlib import closing
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys

with closing(Chrome()) as driver:
wait = WebDriverWait(driver, 10)
driver.get("find_the_link_above")
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, ".OrderForm_input-box_XkGmi input[name='amount']"))).send_keys(100)
item = wait.until(EC.presence_of_element_located((By.CLASS_NAME,"OrderForm_total_6EL8d"))).text
print(item)

当我手动将任何金额放入占位符时,可以看到如下变化:

enter image description here

但是,当我使用脚本执行相同操作时,它看起来是这样的:

enter image description here

我用黑色标记了值,让您知道我的意思。

最佳答案

问题是您发送的值过早,以至于在输入金额值后没有反射(reflect)值。在这里,我正在等待 EUR SPREAD 元素加载,然后再设置金额值。您可以使用相同的元素或您选择的任何其他元素,但要确保页面完全加载该对象,然后发送金额值.

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
chrome_path = r"path"
driver = webdriver.Chrome(chrome_path)
wait = WebDriverWait(driver, 10)
driver.get("https://www.gdax.com/trade/LTC-EUR")
wait.until(EC.presence_of_element_located((By.XPATH, "//div[@class='OrderBookPanel_text_33dbp']")))
wait.until(EC.element_to_be_clickable((By.XPATH, "//input[@name='amount']"))).send_keys(100)
item = wait.until(EC.presence_of_element_located((By.CLASS_NAME,"OrderForm_total_6EL8d"))).text
print(item)

希望这能解决您的问题。

关于python - 无法从网页中获取一定数量的正确值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48732475/

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