像小雨主要是玩 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")
你可能对这些文章感兴趣:
- 实现网站消息提醒功能,适合所有网站和app
- python3批量采集网站关键词到EXCEL表
- Python各领域框架介绍,如何少踩坑
- Python3创建mysql数据表结构和插入数据
- Python3连接mysql数据库并创建数据库
- python3打造微信聊天机器人仅需20行代码
- Python3一篇文章把if __name__ == '__main__'讲透彻
- Python3将爬取的数据存储到Excel
- Python3学习群重要通知,群友必看!
- Python3作业二:输出豆瓣top250电影名,一行一个
- Python3读取网页源代码
- Pycharm安装第三方库lxml
- python3爬虫利器Xpath:认识Xpath
- Pycharm初始化设置