处理弹出式基本接入认证页面的方法

最近在学习基于python的selenium webdriver时遇到这样一个问题:

一个弹出式的基本接入认证页面,需要输入用户名和密码然后点击确定才可以完成认证的过程。

示例页面地址:

http://pythonscraping.com/pages/auth/login.php

默认的用户名和密码分别为ryan和password。

003806_bht0_106216.png

分别尝试了以下几种方法,不是太繁琐就是不成功:

  1. 用AutoIt编写脚本并编译生成.exe文件,然后再在代码里调用,这个方法太繁琐;

  2. 使用python的requests库中的方法,这个没办法在界面上进行处理;

  3. selenium中Alert对象的authenticate方法,这个方法在调用时总是出错,原因不明;

  4. 使用selenium的Options类中的add_argument方法添加header;

最后经人指点,直接在使用selenium的get方法访问页面的时候,在url中添加用户名和密码,也就是《http权威指南》一书中2.2.3章节中关于用户名和密码组件的介绍中所说的,在访问一个需要用户名和密码才能访问的页面可以使用如下方式:

http://username:password@ip:port/path

具体的python代码如下:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("http://ryan@password@pythonscraping.com/pages/auth/login.php")

 

认证成功后的页面如下:

转载于:https://my.oschina.net/swinfans/blog/1590959

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值