Я нашел root причину этой проблемы, мой друг. Дело в том, что когда вы отправляете тикер в поле поиска, требуется некоторое время для загрузки параметров, поскольку поле поиска представляет собой автоматическое раскрывающееся меню. Но в соответствии с вашим скриптом, как только вы отправляете тикер в поле поиска, вы нажимаете кнопку ввода, и в фоновом режиме происходит выбор bitcoin, потому что, если вы увидите в тренде bitcoin имеет ранг 1, и из-за отсутствия задержки между отправкой тикера и нажатием клавиши ввода по умолчанию выбирается bitcoin. Я изменил сценарий, вы можете просмотреть его ниже. Если вы не хотите использовать спящий режим, добавьте веб-драйвер, подождите и подождите, пока желаемый вариант не отобразится в раскрывающемся списке поля поиска. Надеюсь, это поможет вам. Пожалуйста, отметьте его как принятый, если вас устраивает мой ответ.
tickers = ["bitcoin", "ethereum", "litecoin"]
для t в тикерах:
with webdriver.Chrome(executable_path = EXE_PATH) as driver:
wait = WebDriverWait(driver, 10)
driver.get("https://coingecko.com/en")
driver.find_element_by_css_selector(".px-2").send_keys(t)
time.sleep(5)
driver.find_element_by_css_selector(".px-2").send_keys(Keys.RETURN);
first_result = wait.until(presence_of_element_located((By.CSS_SELECTOR, "div.text-3xl > span:nth-child(1)")))
price = first_result.get_attribute("innerHTML")
print(pric