我是Python的新手。我正在Youtube教程的帮助下构建一个Instagram机器人。
我正在尝试登录到我的帐户,然后从那里导航到一个用户。但是click((似乎无法正常工作。它进入登录页面,填写用户名和密码,点击登录按钮,导航到用户而不让我登录(就像你打开用户的个人资料而不登录你的帐户一样(。
代码如下:
from selenium import webdriver
import time
class InstagramBot:
def __init__(self, username, password):
self.username = username
self.password = password
self.driver = webdriver.Chrome('chromedriver.exe')
self.base_url = 'https://www.instagram.com'
self.login()
def login(self):
self.driver.implicitly_wait(10)
self.driver.get('{}/'.format(self.base_url))
self.driver.find_element_by_name('username').send_keys(self.username)
self.driver.find_element_by_name('password').send_keys(self.password)
self.driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[3]').click()
**That click() does not have any effect **
def nav_user(self, user):
self.driver.get('{}/{}/'.format(self.base_url , user))
if __name__ == '__main__':
ig_bot=InstagramBot('my_username' , 'my_password')
ig_bot.nav_user('garyvee') **navigates me to garyvee without logging me in**
time.sleep(100)
当我不使用nav_user函数时,click((会正常工作并将我登录。
请帮帮我…
身份验证过程需要一些时间。你可以把另一个";睡眠;点击按钮后,它就工作了。
def login(self):
self.driver.implicitly_wait(10)
self.driver.get('{}/'.format(self.base_url))
self.driver.find_element_by_name('username').send_keys(self.username)
self.driver.find_element_by_name('password').send_keys(self.password)
self.driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[3]').click()
time.sleep(5) # <--- adjust to your needs