我爱编程

selenium模拟知乎登陆

2018-05-18  本文已影响23人  部落大圣

1、安装selenium

python我们可以在网页上模拟一些操作,比如模拟登陆。直接在pycharm安装selenium包。selenium配合浏览器需要安装驱动。推荐使用Firefox浏览器驱动支持旧版本,谷歌浏览器需要下载对应版本。
GeckoDriver驱动下载地址:https://github.com/mozilla/geckodriver/releases

1.1、配置驱动环境

将下载好的 GeckoDriver解压得到 GeckoDriver.exe。复制到python的bin下和python.exe同文件。打开环境配置,在path新建将Firefox安装路粘贴。
测试环境
代码如下

from selenium import webdriver

#  打开浏览器
browser = webdriver.Firefox()
打开浏览器

2、模拟登陆

完整代码如下

import os
from selenium import webdriver

# 知乎的用户名和密码
username = "186XXXXXX6"
password = "XXXXX3"

# 获取火狐浏览器的驱动
driver = webdriver.Firefox()

# 窗口最大化
driver.maximize_window()

# 打开登陆界面
driver.get("https://www.zhihu.com/signup?next=%2F")

# 切换到账号登陆界面
driver.find_element_by_xpath('//*[@id="root"]/div/main/div/div/div/div[2]/div[2]/span').click()

# 输入赋值框
driver.find_element_by_xpath('//*[@id="root"]/div/main/div/div/div/div[2]/div[1]/form/div[1]/div[2]/div[1]/input')\
    .send_keys(username)  # 输入用户
driver.find_element_by_xpath('//*[@id="root"]/div/main/div/div/div/div[2]/div[1]/form/div[2]/div/div[1]/input')\
    .send_keys(password)  # 输入密码

# 模拟点击事件
driver.find_element_by_xpath('//*[@id="root"]/div/main/div/div/div/div[2]/div[1]/form/button').click()

print(driver.title)
print(password)
# os.system("pause")
完美登陆
这里用到了语法
1.webdriver.Firefox() :打开浏览器
2.driver.maximize_window():窗口最大化
3.driver.get(self,url)打开网页
4.driver.find_element_by_xpath(self,xpath)通过下path定位

对定位到的按钮和输入框进行模拟点击(driver.find_element_by_xpath(self,xpath).click)和模拟输入(driver.find_element_by_xpath(self,xpath).send.keys(self,values))
执行代码,完成模拟登陆

总结

跟着大佬的教程,感觉不难,问题是写代码的时候马虎。将密码写错,这是不会在控制台报错,办法是打印密码,发现密码写错

上一篇下一篇

猜你喜欢

热点阅读