Гэс, я встречаю что-то очень странное. Вскоре у меня есть программа, которая автоматически покупает обувь с разных аккаунтов: https://brandshop.ru/new/. Итак, мне нужно войти на этот сайт, я нахожу поля электронной почты и пароль и отправляю им ключи, НО что-то не так с кнопкой, когда я пытаюсь нажать кнопку «Отправить».
test.txt:
stackover@gmail.com: qazwsxed c
secondstackover@gmail.com: qazwsxed c
Мой код:
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
def login(email, password):
url = 'https://brandshop.ru/new/'
driver = webdriver.Chrome('./chromedriver') # connecting driver
driver.get(url)
driver.find_element_by_class_name('user').click() # class = 'user'
time.sleep(1.5) ##
driver.find_element_by_name('email').send_keys(email) # from file
time.sleep(2) ##
driver.find_element_by_name('password').send_keys(password) # from file
driver.find_element(By.XPATH, '//button[text()="Вход"]').click() #PROBLEM HERE
time.sleep(8)
driver.close()
accs = open('test.txt')
for i in range(0, 2):
string = accs.readline()
string = string.split(':')
email = string[0]
password = string[1]
login(email, password)
Если я комментирую driver.find_element (By.XPATH, '// button [text () = "Вход"]'). Click () для первой кнопки учетной записи нажимает независимо и на втором аккаунте ничего не происходит.
Если я раскомментирую driver.find_element (By.XPATH, '// button [text () = "Вход"]'). click () для первого нажатия кнопки аккаунта и Программа завершается с ошибкой:
File "C:\PYTHON38\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 978, in find_element
'value': value})['value']
self.error_handler.check_response(response)
File "C:\PYTHON38\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element:
{"method":"xpath","selector":"//button[text()="Вход"]"}
(Session info: chrome=80.0.3987.149)