Python3利用Selenium3模拟wordpress博客登陆

Author: 陌小雨Date: 2018-03-23View: 77

像小雨主要是玩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")