模拟用户登陆并提交用户信息,关键是找到相关元素,并给相关元素填充用户信息,webdriver可以很好的做到这些。但是webdriver有一个很严重的问题,当使用PhantomJS时,通过get方法去拉取网页耗时太长,特别是晚上高峰时间基本都超时(而那个网页才几十K的大小)。切换到FIrefox等界面游览器时可以避免超时,但是速度还是奇慢无比,所以拉取网页选择适当的时间很重要。下面是一段模拟登陆csdn的代码:
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
import requests
def isEmpty(params_str):
if(params_str is None):
return True
if(len(params_str) == 0):
return True
return False
'''profile = webdriver.FirefoxProfile()
profile.native_events_enabled = True
driver = webdriver.Firefox(profile)'''
#浏览器的Use-agent信息,也可以使用上面注释的Profile方法自动添加
UA = 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:31.0) Gecko/20100101 Firefox/31.0'
ua = dict(DesiredCapabilities.PHANTOMJS)
ua["phantomjs.page.settings.userAgent"]