Python selenium web scraping中的.send_密钥出现意外令牌错误
我对python比较陌生,所以请原谅任何新手错误。。。 我一直在遵循一个教程来构建instagram网络抓取机器人,但我似乎无法解决这个特定的错误。在Python selenium web scraping中的.send_密钥出现意外令牌错误,python,selenium,selenium-webdriver,web-scraping,selenium-chromedriver,Python,Selenium,Selenium Webdriver,Web Scraping,Selenium Chromedriver,我对python比较陌生,所以请原谅任何新手错误。。。 我一直在遵循一个教程来构建instagram网络抓取机器人,但我似乎无法解决这个特定的错误。在.send\u keys(用户名)和.send\u keys(密码)中,命令.send\u keys会发生这种情况。我得到的错误是:意外的令牌'send\u keys'Python(parser-16) 这也为下面接收警告的self创建了一个问题:Undefined variable:'self'Python(Undefined variable)
.send\u keys(用户名)
和.send\u keys(密码)
中,命令.send\u keys
会发生这种情况。我得到的错误是:意外的令牌'send\u keys'Python(parser-16)
这也为下面接收警告的self
创建了一个问题:Undefined variable:'self'Python(Undefined variable)
。当我注释掉令牌错误时,这个问题就会自行解决
我不知道这是否是由于缩进或什么,但我已经完全按照教程和他的作品无缝
from selenium import webdriver
from time import sleep
class InstaBot:
def __init__(self, username, password):
self.driver = webdriver.Chrome()
self.driver.get("https://instagram.com")
sleep(2)
self.driver.find_element_by_xpath("//input[@name=\"username\"]")
.send_keys(username)
self.driver.find_element_by_xpath("//input[@name=\"password\"]")
.send_keys(password)
InstaBot('nomadsvalley', '*******')
如果有人能帮忙,那就太好了。
谢谢请参考工作解决方案:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait as Wait
class bot:
def __init__(self):
self.driver = webdriver.Chrome(executable_path=r"C:\New folder\chromedriver.exe")
def intagramLogin(self):
driver = self.driver
self.driver.get("https://instagram.com")
WebDriverWait(self.driver, 15).until(EC.presence_of_element_located((By.NAME, "username"))).send_keys("username")
WebDriverWait(self.driver, 15).until(EC.presence_of_element_located((By.NAME, "password"))).send_keys("username")
WebDriverWait(self.driver, 30).until(
EC.element_to_be_clickable((By.XPATH, "//*[contains(text(), 'Log In')]"))).click()
driver.close()
if __name__ == "__main__":
bot = bot()
bot.intagramLogin()
输出:
我已经试过了,而且它对我有效。如果在最后一个命令之后添加睡眠(X),则在浏览器关闭之前将禁用该命令,用户和密码将被写入correctly@pcampana具体在哪个命令之后?它似乎没有对错误进行任何更改。我只是说我无法重现错误。在InstaBot('nomadsvalley','********')之后添加
sleep(10)
,您将看到用户名和密码是否正确filled@pcampana别担心,我知道了。在find_元素命令的末尾没有\个字符。谢谢你的帮助。