【发布时间】:2019-10-10 12:45:24
【问题描述】:
昨天一切正常,但今天我收到此错误:
Traceback(最近一次调用最后一次):文件“bot.py”,第 31 行,在 ig_bot = InstagramBot('temp_username', 'temp_password') 文件“bot.py”,第 13 行,在 init self.login() 文件“bot.py”,第 20 行,登录 self.driver.find_element_name('username').send_keys(self.username) selenium.common.exceptions.NoSuchElementException:消息:没有这样的 元素:无法找到元素:{“方法”:“css selector","selector":".username"} (会话信息: 铬=77.0.3865.90)
我尝试通过类名、xpath 来查找元素,但这些都不起作用。
bot.py
from selenium import webdriver
import os
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.get('{}/accounts/login/?source=auth_switcher'.format(self.base_url))
time.sleep(2)
self.driver.find_element_by_name('username').send_keys(self.username)
self.driver.find_element_by_name('password').send_keys(self.password)
time.sleep(1)
self.driver.find_elements_by_xpath("//div[contains(text(), 'Log In')]")[0].click()
def nav_user(self, user):
self.driver.get('{}/{}/'.format(self.base_url, user))
if __name__ == '__main__':
ig_bot = InstagramBot('temp_username', 'temp_password')
ig_bot.nav_user('garyvee')
html
<input class="_2hvTZ pexuQ zyHYP" aria-label="Phone number, username, or email" aria-required="true" autocapitalize="off" autocorrect="off" maxlength="75" name="username" type="text" value="">
【问题讨论】:
-
如果能提供更多的HTML代码或截图就更好了。此外,您可以添加代码让等待 chrome 驱动程序直到它可见。
标签: python html selenium selenium-chromedriver instagram