美文网首页我爱编程
selenium模拟知乎登陆

selenium模拟知乎登陆

作者: 部落大圣 | 来源:发表于2018-05-18 22:44 被阅读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))
    执行代码,完成模拟登陆

    总结

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

    相关文章

      网友评论

        本文标题:selenium模拟知乎登陆

        本文链接:https://www.haomeiwen.com/subject/rbbndftx.html