所以我尝试使用phantomJS登录我的Instagram帐户。 但是我在第四行收到错误(" dom ...")
warnings.warn('对PhantomJS的Selenium支持已被弃用,请使用无头' 回溯(最近一次调用最后一次):
并且回溯调用以selenium.common.exceptions.InvalidSelectorException结束:消息: errorMessage":"无法找到带有xpath表达式的元素
此错误的原因是什么?
from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get('https://www.instagram.com/accounts/login/')
dom = driver.find_element_by_xpath('//')
import pdb
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'
答案 0 :(得分:0)
通过xpath选择html文档中所有元素的正确方法是//*
登录按钮的正确,完整,xpath是//*[@id="react-root"]/section/main/article/div[2]/div[1]/div/form/span[1]/button