Заполнение текстового поля в наложенном элементе с помощью Selenium (Python)

#javascript #selenium-webdriver #element #setattribute #execute-script

#javascript #selenium-webdriver #элемент #setattribute #выполнить-скрипт

Вопрос:

Я создаю средство проверки запасов, и мне нужно ввести почтовый индекс в текстовое поле на https://www.argos.co.uk/basket , но, похоже, наткнулся на скрытый элемент, для которого обычный метод sendkeys возвращает исключение ElementNotInteractableException . Поэтому я попытался использовать execute_script с setAttribute, который выполняется без ошибок, но все равно не заполняет текстовое поле.

 from selenium import webdriver as wd
import chromedriver_binary

wd = wd.Chrome()
wd.implicitly_wait(5)

wd.get("https://www.argos.co.uk/search/ps5/category:824671/")

accept_cookies = wd.find_element_by_xpath('//*[@id="consent_prompt_submit"]')
accept_cookies.click()

add_to_cart_button = wd.find_element_by_xpath('//*[@id="findability"]/div/div[7]/div/div[5]/div[5]/div[3]/div/div/div[2]/button')
add_to_cart_button.click()

reject_insurance = wd.find_element_by_xpath('//*[@id="findability"]/div/div[3]/div/div/div[1]/footer/div/div/a')
reject_insurance.click()

wd.execute_script('document.querySelector("#basket-FulfilmentSelectorForm").setAttribute("value", "ABC123")')
 

Интересно, что с элементом кнопки «доставка» можно взаимодействовать следующим образом:

 wd.execute_script('document.querySelector("#basket-FulfilmentSelectorForm-deliverButton").click()')
 

Любая помощь будет очень признательна.