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))
执行代码,完成模拟登陆
总结
跟着大佬的教程,感觉不难,问题是写代码的时候马虎。将密码写错,这是不会在控制台报错,办法是打印密码,发现密码写错
网友评论