[英]How to locate the username and password field within Instagram login page using Chromedriver and Selenium Python
[英]How to avoid Instagram login page everytime using Selenium and Python
我正在尝试制作 selenium instagram 脚本。 我的问题是我每次都必须登录我的帐户。
如果我使用普通的谷歌浏览器,只需登录一次就足够了。 当我打开 Chrome 时,它总是保持登录状态。 但是 Chrome 驱动程序总是要求登录。
from selenium import webdriver
import time
import random
from selenium.webdriver.common.by import By
import kullaniciBilgileri as kb
import os.path
from pathlib import Path
from selenium.webdriver.chrome.options import Options
import collections
options = Options()
options.add_experimental_option('useAutomationExtension', False)
link = "http://www.instagram.org"
browser = webdriver.Chrome(options=options, executable_path="./chromedriver")
browser.get(url=link)
time.sleep(10)
username = browser.find_element(by=By.NAME, value=("username"))
password = browser.find_element(by=By.NAME, value=("password"))
username.send_keys(kb.userName)
password.send_keys(kb.password)
loginBtn = browser.find_element(by=By.CSS_SELECTOR, value=("#loginForm > div > div:nth-child(3) > button > div"))
loginBtn.click()
有什么建议吗?
在访问您的Instagram以避免每次登录时,一旦您使用pickle模块首次登录,您可以存储cookies并在下次登录尝试时重复使用,如下所示:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import pickle
driver.execute("get", {'url': 'http://www.instagram.org'})
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[name='username']"))).send_keys("_devanjan_")
driver.find_element(By.CSS_SELECTOR, "input[name='password']").send_keys("dev__anjan")
driver.find_element(By.CSS_SELECTOR, "button[type='submit'] div").click()
pickle.dump( driver.get_cookies() , open("cookies.pkl","wb"))
driver.quit()
driver = webdriver.Chrome(service=s, options=options)
driver.execute("get", {'url': 'http://www.instagram.org'})
cookies = pickle.load(open("cookies.pkl", "rb"))
for cookie in cookies:
driver.add_cookie(cookie)
driver.execute("get", {'url': 'http://www.instagram.org'})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.