Я пробовал все сообщения с тем же вопросом от других, но ни один из них не работал в моем случае. Мне нужно написать сценарий, чтобы получить оптовые цены для указанного ниже веб-сайта:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.common.exceptions import TimeoutException
LoginURL = "https://www.coffeeparts.com.au/customer/account/login/"
driver = webdriver.Chrome("C:/chromedriver.exe")
driver.delete_all_cookies()
driver.get(LoginURL)
email = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'email')))
email.send_keys("test")
driver.close()
Для любых версий кода, которые я пробовал, я всегда получаю одну и ту же ошибку. Мне нужно запустить метод send_keys для полей электронной почты и пароля, а затем нажать кнопку входа в систему. После этого я получу информацию о сеансе входа в систему для запуска скриптов веб-скребка для получения оптовых цен на товары.
---------------------------------------------------------------------------
ElementNotInteractableException Traceback (most recent call last)
<ipython-input-14-ee71e5f9bc26> in <module>()
13
14 email = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, 'email')))
---> 15 email.send_keys("test")
16
17 driver.close()
c:\python27\lib\site-packages\selenium\webdriver\remote\webelement.pyc in send_keys(self, *value)
477 self._execute(Command.SEND_KEYS_TO_ELEMENT,
478 {'text': "".join(keys_to_typing(value)),
--> 479 'value': keys_to_typing(value)})
480
481 # RenderedWebElement Items
c:\python27\lib\site-packages\selenium\webdriver\remote\webelement.pyc in _execute(self, command, params)
631 params = {}
632 params['id'] = self._id
--> 633 return self._parent.execute(command, params)
634
635 def find_element(self, by=By.ID, value=None):
c:\python27\lib\site-packages\selenium\webdriver\remote\webdriver.pyc in execute(self, driver_command, params)
319 response = self.command_executor.execute(driver_command, params)
320 if response:
--> 321 self.error_handler.check_response(response)
322 response['value'] = self._unwrap_value(
323 response.get('value', None))
c:\python27\lib\site-packages\selenium\webdriver\remote\errorhandler.pyc in check_response(self, response)
240 alert_text = value['alert'].get('text')
241 raise exception_class(message, screen, stacktrace, alert_text)
--> 242 raise exception_class(message, screen, stacktrace)
243
244 def _value_or_default(self, obj, key, default):
ElementNotInteractableException: Message: element not interactable
Пожалуйста, помогите. Большое спасибо.