弱鸡Python第②记:phantomjs使用小记(马上就弃,开发者停止更新,selenium也要停止支持了)

最近做网络监测,需要实现两个功能:获取站点的运行状态(状态码)、获取当前页面截图(取证用)

获取运行状态,通过requests就可以了

r = requests.get(url, allow_redirects = False)       //然后可以获取r.status_code

虽然之前已经知道phantomjs药丸了,但是由于可以借鉴的文章太多,学习成本好像很低的样子,就直接用了,反正实现的功能也不复杂。

首先我们是需要phantomjs这样一个无头浏览器的存在的:太久远了我也忘记在哪里下的了,官网肯定有的。(严肃脸)

使用phantomjs有两种方式:一种是写js,通过cmd来调:

import subprocess
cmd = ‘phantomjs ehall.js “%s”‘ % ehall_url       //ehall.js是一个js文档
stdout, stderr = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
print stderr
print stdout

一种可以通过selenium调用phantomjs:

b = webdriver.PhantomJS(executable_path=”PhantomJS.exe”)
b.set_window_size(1024,768)     //之前没有设置window大小,导致部分网页显示不完全
b.get(turl)
elem_user = b.find_element_by_xpath(‘//*[@id=”username”]’)    //通过find_element方式定位元素,因为要登录嘛
elem_pswd = b.find_element_by_xpath(‘//*[@id=”password”]’)
elem_user.send_keys(‘XXX’)          //键入值
elem_pswd.send_keys(‘XXX’)
elem_sub = b.find_element_by_xpath(‘//*[@id=”login_form1″]/div[2]/input’)
elem_sub.click()     //点击按钮
time.sleep(1)
b.save_screenshot(‘pic/’+filename)     //保存当前截图

发表评论

邮箱地址不会被公开。 必填项已用*标注