我编写了一个代码,尝试登录到我的instagram帐户,但这给了我很多错误(如果有人知道如何解决,请告诉我)
。代码:
import pdb
from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get('https://www.instagram.com/accounts/login/')
dom = driver.find_element_by_xpath('//*')
pdb.set_trace()
username = dom.find_element_by_name('username')
password = dom.find_element_by_name('password')
login_button = dom.find_element_by_xpath('//*[@class="_qv64e _gexxb _4tgw8 _njrw0"]')
username.clear()
password.clear()
username.send_keys('your username')
password.send_keys('your password')
login_button.click()
driver.get('https://www.instagram.com/accounts/login')
if 'logged-in' in driver.page_source:
print 'Logged in'
。错误:
警告(来自警告模块):文件“ C:\ Users \ Usuario \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ selenium \ webdriver \ phantomjs \ webdriver.py”,第49行warnings.warn('PhantomJS的硒支持已被弃用,请使用无头'用户警告:对PhantomJS的硒支持已被弃用,请改用无头版本的Chrome或Firefox追溯(最近一次通话):文件“ C:\ Users \ Usuario \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ selenium \ webdriver \ common \ service.py”,开始stdin = PIPE)init中的文件“ C:\ Users \ Usuario \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ subprocess.py”,行775restore_signals,start_new_session)_execute_child中的文件“ C:\ Users \ Usuario \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ subprocess.py”,行1178startupinfo)FileNotFoundError:[WinError 2]没有消息提示
在处理以上异常期间,发生了另一个异常:
追踪(最近通话):文件“ C:\ Users \ Usuario \ Desktop \ Programaciones Python \ Pruebas.py”,第4行,在驱动程序= webdriver.PhantomJS()文件“ C:\ Users \ Usuario \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ selenium \ webdriver \ phantomjs \ webdriver.py”,init中的第56行self.service.start()在开始的文件“ C:\ Users \ Usuario \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ selenium \ webdriver \ common \ service.py”中,os.path.basename(self.path),self.start_error_message)selenium.common.exceptions.WebDriverException:消息:“ phantomjs”可执行文件必须位于PATH中。
错误消息告诉您这里到底是什么问题:Message: 'phantomjs' executable needs to be in PATH.
您可以通过找到phantomjs.exe
文件(无论您从何处下载了phantomjs驱动程序),并将其添加到Path
环境变量中来解决此问题。 This guide将帮助您开始解决此问题。除非您要手动将phantomjs.exe
的路径传递到driver = webdriver.PhantomJS()
调用中,否则无需在代码中解决此问题。