Задать вопрос
@underdogknowing

Не нажимается элемент Selenium?

Добрый вечер, пишу бота для покупки вещей 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"]"}


Хотя в коде страницы все есть, но почему то он не находит...

Вопрос в следующем как исправить это недоразумение?

Code
import 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. Скриншот кода окна5ee131fb90893565254107.png
2. Скриншот окна.

5ee131cb99f5d964513144.png
  • Вопрос задан
  • 239 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Там случайно не iframe какой нибудь выше?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы