像小雨主要是玩Wordpress的,很多网站也需要登陆后才可以进行下一步操作,所以我们单独来讲一讲如何利用Python3模拟wordpress博客登陆
首先还是安装selenium模块,这在基础教程中已经说过如何一键安装了,就不重复演示了。
我们以火狐浏览器为例,需要先下载geckodriver.exe 下载地址:https://github.com/mozilla/geckodriver/releases 下载完成后把geckodriver.exe放到你的python3安装目录即可,也可以单独放到一个地方,然后在系统变量中添加路径就可。
import sys print (sys.path)
可以通过上面两行代码来查看python的安装路径
然后通过下面代码来调用FireFox浏览器
# coding=utf-8 import os from selenium import webdriver driver = webdriver.Firefox()
运行如果能正常启动FireFox浏览器即代表上面两项准备工作已经完成。
接下来我们来了解下Selenium3一些常用命令:
1、跳转
使用Webdriver做的第一件事就是跳转到一个页面,通常的做法是调用get方法:如打开百度网页
driver.get("http://www.baidu.com")
2、定位元素
<input id="passwd-id" name="passwd" type="text" />
比如上面网页结构,我们可以通过下面3种办法定位元素,看下就明白了
element = driver.find_element_by_id("passwd-id") element = driver.find_element_by_name("passwd") element = driver.find_element_by_xpath("//input[@id='passwd-id']")
3、点击事件
element.click() #比如点击登陆
4、窗口切换
driver.switch_to_window('windowname')
driver.switch_to_frame(“frameName”) #Frame切换
5、给元素赋值
element.send_keys(username) #给元素赋值
好了我们就以实例登陆wordpress后台来讲解下Python3利用Selenium3模拟wordpress博客登陆
# coding=utf-8 import os from selenium import webdriver #WordPress后台账号和密码,改为你自己的 username = "XXXXX" password = "XXXXXXXXX" #,获取火狐浏览器的驱动 driver = webdriver.Firefox() #窗口最大化 driver.maximize_window() #打开WordPress后台登录页面 driver.get("XXXXXXXXXX") #给输入框赋值 driver.find_element_by_xpath('//*[@id="user_login"]').send_keys(username) driver.find_element_by_xpath('//*[@id="user_pass"]').send_keys(password) #模拟点击事件 driver.find_element_by_xpath('//*[@id="wp-submit"]').click() #输出网页title print(driver.title) #暂停脚本 os.system("pause")