i want to login on instagram using selenium python. I tried to find elements by name, tag and css selector but selenium doesn't find any element (i think). I also tried to switch to the iFrame but nothing.
This is the error:
Traceback (most recent call last): File "C:/Users/anton/Desktop/Instabot/chrome instagram bot/main.py", line 8, in my_driver.sign_in(username=USERNAME, password=PASSWORD) File "C:\Users\anton\Desktop\Instabot\chrome instagram bot\chrome_driver_cli.py", line 39, in sign_in username_input = self.driver.find_element_by_name("username") File "C:\Users\anton\Desktop\Instabot\chrome instagram bot\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 496, in find_element_by_name return self.find_element(by=By.NAME, value=name) File "C:\Users\anton\Desktop\Instabot\chrome instagram bot\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 978, in find_element 'value': value})['value'] File "C:\Users\anton\Desktop\Instabot\chrome instagram bot\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute self.error_handler.check_response(response) File "C:\Users\anton\Desktop\Instabot\chrome instagram bot\venv\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":"css selector","selector":"[name="username"]"} (Session info: chrome=79.0.3945.130)
This is the code
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()
Can you help me?