Я хочу войти в Instagram, используя селен python. Я пытался найти элементы по имени, тегу и селектору css, но селен не находит никакого элемента (я думаю). Я также пытался переключиться на iFrame, но ничего.
Это ошибка:
Traceback (последний вызов был последним): Файл "C: / Users / anton / Рабочий стол / Instabot / chrome instagram bot / main.py ", строка 8, в файле my_driver.sign_in (имя пользователя = USERNAME, пароль = ПАРОЛЬ) Файл" C: \ Users \ anton \ Desktop \ Instabot \ chrome instagram bot \ chrome_driver_cli.py ", строка 39, в sign_in username_input = self.driver.find_element_by_name (" username ") Файл" C: \ Users \ anton \ Desktop \ Instabot \ chrome instagram bot \ venv \ lib \ site -packages \ selenium \ webdriver \ remote \ webdriver.py ", строка 496, в find_element_by_name возвращает self.find_element (by = By.NAME, value = name) Файл" C: \ Users \ anton \ Desktop \ Instabot \ chrome instagram bot \ venv \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py ", строка 978, в find_element 'value': value}) ['value'] Файл" C: \ Users \ anton \ Desktop \ Instabot \ chrome instagram bot \ venv \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py ", строка 321, в файле execute self.error_hand ler.check_response (ответ) Файл "C: \ Users \ anton \ Desktop \ Instabot \ chrome instagram bot \ venv \ lib \ site-packages \ selenium \ webdriver \ remote \ errorhandler.py", строка 242, в check_response повысить исключение_класса (сообщение, экран, stacktrace) selenium.common.exceptions.NoSuchElementException: Сообщение: такого элемента нет: невозможно найти элемент: {"method": "css selector", "selector": "[name =" username "]"} (Информация о сеансе: chrome = 79.0.3945.130)
Это код
from selenium import webdriver
from selenium.common.exceptions import SessionNotCreatedException
from selenium.webdriver.common.keys import Keys
supported_versions_path = [
"..\\chrome driver\\CHROME 80\\chromedriver.exe",
"..\\chrome driver\\CHROME 79\\chromedriver.exe",
"..\\chrome driver\\CHROME 78\\chromedriver.exe"
]
instagram_link = "https://www.instagram.com/accounts/login/?source=auth_switcher"
class ChromeDriver:
def __init__(self):
self.driver = self.__startup()
def __startup(self):
self.driver = None
for current_checking_version in supported_versions_path:
if self.driver is None:
try:
self.driver = webdriver.Chrome(current_checking_version)
pass
except SessionNotCreatedException:
self.driver = None
return self.driver
def sign_in(self, username, password):
self.driver.get(instagram_link)
frame = self.driver.find_element_by_tag_name("iframe")
self.driver.switch_to.frame(frame)
username_input = self.driver.find_element_by_name("username")
# password_input = self.driver.find_element_by_name('password')
# username_input.send_keys(username)
# password_input.send_keys(password)
# password_input.send_keys(Keys.ENTER)
def get_page(self, url):
self.driver.get(url)
def quit(self):
self.driver.quit()
Можете ли вы помочь мне?