При заполнении формы выбивает ошибку, как решить?
При заполнении формы для авторизации на python+selenium выбивает ошибку: login_btn.click().send_keys(login).perform() AttributeError: 'NoneType' object has no attribute 'send_keys' Из-за чего это может происходить? Xpath менял, по координатам кликал, ничего не работает, что можно сделать? code:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
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.webdriver.common.action_chains import ActionChains
from time import sleep
def get_url(driver): # perehodim po ssilkam
driver.get("https://id.ati.su/login/?next=https%3A%2F%2Fati.su%2F&iframe=1&fastreg=1")
print("GOT URL")
sleep(6)
def authorization(driver):
login_btn = driver.find_element_by_xpath("//form[@class='ati-id-login']/div[@class='ati-core-popup-content']/div[@class='ati-core-login-wrapper']/input")
login_btn.click().send_keys(login).perform()
sleep(2)
password_btn = driver.find_element_by_xpath("//input[@placeholder='Пароль']")
password_btn.click().send_keys(password).perform()
sleep(2)
driver.find_element_by_xpath("//button[@id='action-login' and contains(@class, 'ati-core-button')]").click()
sleep(2)
print("AUTHORIZATION ")
def main():
options = webdriver.ChromeOptions()
options.add_argument('user-agent=Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7')
# options.add_extension("D:\\UB\\cjpalhdlnbpafiamejdnhcphjbkeiagm.crx")
options.add_experimental_option("detach", True)
driver = webdriver.Chrome(options=options, executable_path="D:\\chromedriver\\chromedriver.exe")
driver.maximize_window()
driver.implicitly_wait(10)
get_url(driver)
authorization(driver)
if __name__ == '__main__':
main()
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
Используйте ActionChains:
ActionChains(driver).move_to_element(login_btn).click().send_keys(login).perform()