Снимок экрана HTML после установки флажка с использованием селена в Python ⇐ Python
Снимок экрана HTML после установки флажка с использованием селена в Python
Я пытаюсь создать снимок экрана этого URL-адреса, который представляет собой график цен на акции: https://chartink.com/stocks/iex.html, используя селен в Python.
Однако, прежде чем экспортировать снимок экрана, я хочу изменить некоторые настройки по умолчанию на графике, которые включают установку флажка «Полоса Боллинджера», выбрав «Максимизировать индикаторы» -> «Верхние наложения» -> «Полоса Боллинджера».
Я не уверен, что мой код для установки флажка правильный, поскольку я не знаю HTML. Может ли кто-нибудь проверить URL-адрес и предложить исправленный код?
Ниже приведен мой полный код, который выдает ошибку: ElementNotInteractableException Traceback (самый последний вызов — последний) Ячейка In[42], строка 37 34 bollinger_band_checkbox = Upper_overlays_form.find_element(By.ID, "BBm") 36 # Установите флажок «Полоса Боллинджера». ---> 37 bollinger_band_checkbox.click()
ElementNotInteractableException: Сообщение: элемент не доступен для взаимодействия (Информация о сеансе: headless chrome=119.0.6045.160)
Код
из веб-драйвера импорта селена из службы импорта selenium.webdriver.chrome.service из параметров импорта selenium.webdriver.chrome.options из selenium.webdriver.common.by импортировать импортировать ОС импортировать панд как pd # Замените это фактическим путем к chromedriver.exe на вашем компьютере. chrome_driver_path = r'C:\Users\Administrator\chromedriver-win64\chromedriver.exe' # Папка для сохранения скриншотов папка_скриншота = r'G:\My Drive\WeeklyCharts_RSI_Midcap' # Настройте параметры Chrome для безгласного браузера chrome_options = Параметры() chrome_options.add_argument('--headless') # Запуск Chrome в безголовом режиме (без графического интерфейса) # Создайте новый драйвер Chrome с параметрами и указанным путем к исполняемому файлу. chrome_service = Служба (chrome_driver_path) драйвер = webdriver.Chrome(service=chrome_service, options=chrome_options) # Устанавливаем размер окна driver.set_window_size(1980, 1080) URL = r'https://chartink.com/stocks/iex.html' # Перейдите по URL-адресу driver.get(url) # Найдите форму «Верхние наложения» по идентификатору Upper_overlays_form = driver.find_element(By.ID, "newone2") # Найдите флажок «Полоса Боллинджера» в форме. bollinger_band_checkbox = Upper_overlays_form.find_element(By.ID, "BBm") # Установите флажок «Полоса Боллинджера». bollinger_band_checkbox.click() # Сделать скриншот имя_скриншота = 'IEX.png' путь_скриншота = os.path.join(папка_скриншота, имя_скриншота) # Сделать скриншот driver.save_screenshot(screenshot_path) # Закройте драйвер Chrome драйвер.выйти()
Я пытаюсь создать снимок экрана этого URL-адреса, который представляет собой график цен на акции: https://chartink.com/stocks/iex.html, используя селен в Python.
Однако, прежде чем экспортировать снимок экрана, я хочу изменить некоторые настройки по умолчанию на графике, которые включают установку флажка «Полоса Боллинджера», выбрав «Максимизировать индикаторы» -> «Верхние наложения» -> «Полоса Боллинджера».
Я не уверен, что мой код для установки флажка правильный, поскольку я не знаю HTML. Может ли кто-нибудь проверить URL-адрес и предложить исправленный код?
Ниже приведен мой полный код, который выдает ошибку: ElementNotInteractableException Traceback (самый последний вызов — последний) Ячейка In[42], строка 37 34 bollinger_band_checkbox = Upper_overlays_form.find_element(By.ID, "BBm") 36 # Установите флажок «Полоса Боллинджера». ---> 37 bollinger_band_checkbox.click()
ElementNotInteractableException: Сообщение: элемент не доступен для взаимодействия (Информация о сеансе: headless chrome=119.0.6045.160)
Код
из веб-драйвера импорта селена из службы импорта selenium.webdriver.chrome.service из параметров импорта selenium.webdriver.chrome.options из selenium.webdriver.common.by импортировать импортировать ОС импортировать панд как pd # Замените это фактическим путем к chromedriver.exe на вашем компьютере. chrome_driver_path = r'C:\Users\Administrator\chromedriver-win64\chromedriver.exe' # Папка для сохранения скриншотов папка_скриншота = r'G:\My Drive\WeeklyCharts_RSI_Midcap' # Настройте параметры Chrome для безгласного браузера chrome_options = Параметры() chrome_options.add_argument('--headless') # Запуск Chrome в безголовом режиме (без графического интерфейса) # Создайте новый драйвер Chrome с параметрами и указанным путем к исполняемому файлу. chrome_service = Служба (chrome_driver_path) драйвер = webdriver.Chrome(service=chrome_service, options=chrome_options) # Устанавливаем размер окна driver.set_window_size(1980, 1080) URL = r'https://chartink.com/stocks/iex.html' # Перейдите по URL-адресу driver.get(url) # Найдите форму «Верхние наложения» по идентификатору Upper_overlays_form = driver.find_element(By.ID, "newone2") # Найдите флажок «Полоса Боллинджера» в форме. bollinger_band_checkbox = Upper_overlays_form.find_element(By.ID, "BBm") # Установите флажок «Полоса Боллинджера». bollinger_band_checkbox.click() # Сделать скриншот имя_скриншота = 'IEX.png' путь_скриншота = os.path.join(папка_скриншота, имя_скриншота) # Сделать скриншот driver.save_screenshot(screenshot_path) # Закройте драйвер Chrome драйвер.выйти()
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как получить снимок экрана для экрана размером 5,5 дюйма в Xcode 15 на Sonoma
Гость » » в форуме IOS - 0 Ответы
- 94 Просмотры
-
Последнее сообщение Гость
-
-
-
Сделать снимок экрана во время записи экрана с помощью MediaProjection API.
Anonymous » » в форуме Android - 0 Ответы
- 112 Просмотры
-
Последнее сообщение Anonymous
-