Добрый вечер, пишу бота для покупки вещей
Nike SNKRS, при оплате товара возникает проблема. При оплате мне нужно вводить CVV карты и тут начинается главная проблема, а именно Selenium не находит окно ввода. Я пробовал искать по id, name, class name, но при всех этих случаях выводится ошибка.
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//input[@id="cardCvc-input"]"}
Хотя в коде страницы все есть, но почему то он не находит...
Вопрос в следующем как исправить это недоразумение?
Codeimport requests
from urllib.request import urlopen
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.common.exceptions import ElementNotInteractableException, NoSuchElementException
from selenium.webdriver.firefox.firefox_profile import FirefoxProfile
from bs4 import BeautifulSoup as bs
from selenium.webdriver.common.keys import Keys
import json
import time
options = Options()
options.add_experimental_option(
'prefs',
{
'profile.managed_default_content_settings.images': 2,
'profile.managed_default_content_settings.mixed_script': 2,
'profile.managed_default_content_settings.media_stream': 2,
'profile.managed_default_content_settings.stylesheets':2
}
)
driver = webdriver.Chrome(executable_path = r'C:/Python/botnike/driver/chromedriver.exe', options = options)
driver.maximize_window()
def checkout():
driver.get(url)
driver.implicitly_wait(20)
driver.find_element_by_xpath('//input[@type="email"]').send_keys("mail")
driver.find_element_by_xpath('//input[@type="password"]').click()
driver.find_element_by_xpath('//input[@type="password"]').send_keys("password")
driver.find_element_by_xpath('//input[@value="ВОЙТИ"]').click()
driver.implicitly_wait(20)
print('SoupCoit bot - logging - {0} '.format(time.strftime('%X')))
driver.implicitly_wait(20)
driver.find_element_by_id('middleName').send_keys('Петрович')
#driver.find_element_by_xpath('//select[@id = "region"]').click()
driver.implicitly_wait(20)
el = driver.find_element_by_id('region')
el.click()
driver.implicitly_wait(20)
for option in el.find_elements_by_tag_name('option'):
if option.text == 'Самарская':
option.click()
break
driver.find_element_by_class_name('button-continue').click()
driver.find_element_by_class_name('button-continue').click()
driver.find_element_by_class_name('button-continue').click()
driver.implicitly_wait(20)
driver.find_element_by_xpath('//input[@id="cardCvc-input"]').send_keys(000)
1. Скриншот кода окна
2. Скриншот окна.