python2.7,mac环境,phantomjs-2.1.1-macosx
掘金的登录接口貌似有点不好搞,于是用phtomjs来做登录,之前没用过phtomjs,一直在配路径,后面发觉自己脑子抽了只要写好路径让程序能找到就好了还配个啥 = =b
上代码
# -*- coding: UTF-8 -*-
import requests
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.wait import WebDriverWait
driver = webdriver.PhantomJS(executable_path="/Users/jinniu/Desktop/phantomjs-2.1.1-macosx/bin/phantomjs")
driver.get("https://juejin.im/")
driver.find_element_by_xpath('//*[@id="juejin"]/div[2]/div/header/div/nav/ul/li[4]/span[1]').click()
driver.find_element_by_name('loginPhoneOrEmail').send_keys('cjqgxx@126.com')
driver.find_element_by_name('loginPassword').send_keys('*****')#这里我就把密码去掉了哈
driver.find_element_by_xpath('//*[@id="juejin"]/div[1]/div[3]/form/div[2]/button').click()
# 判断id为kw元素是否消失
is_disappeared = WebDriverWait(driver, 10, 1).\
until_not(lambda x: x.find_element_by_xpath('//*[@id="juejin"]/div[2]/div/header/div/nav/ul/li[4]/span[1]').is_displayed())
print is_disappeared
driver.save_screenshot("baidu.png")
print driver.title
复制代码
WebDriverWait用来等待10秒轮训,判断登录按钮是否消失,消失就表示登录成功 控制台打印如下: True 掘金
截图如下