selenium,自动化测试如何绕开登录

1,955 阅读2分钟

这是我参与8月更文挑战的第17天,活动详情查看:8月更文挑战

Selenium无论是应用于自动化测试还是应用于爬虫都会碰到一个问题,那就是登录。之前讲了很多很多种找到元素并且使用的方法。今天就来说说怎么应用起来吧。

Selenium找元素的方法有id,classname,tag,xpath,选择器。其实使用哪个无所谓,只要你能熟练地找到元素就行了。网页的操作一般就是点击和输入,也没有更多复杂的操作。


# 创建 WebDriver 对象,指明使用chrome浏览器驱动
driver = webdriver.Chrome(r'你自己的本地路径')

# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址
driver.get('https://www.baidu.com')

# 根据id选择元素,返回的就是该元素对应的WebElement对象
element = driver.find_element_by_id('kw')

# 通过该 WebElement对象,就可以对页面元素进行操作了
# 比如输入字符串到 这个 输入框里
element.send_keys('selenium怎么学\n')

还记得我之前说的这段百度搜索的代码吗?一般来说网页登录也就是账号和密码登录。其实我们只需要找到账号的元素,找到密码的元素,分别输入,上面的例子已经可以满足。然后再找到确定登录的按钮,自动点击就行了。而这个自动点击的函数就是.click()。只要有这个函数的元控件都会执行成功的。

上面所说的都是情况1,这种情况是没有验证码的,但是有的登录是需要验证码,甚至是二维码的。这时候我们能做的就是使用cookie登录。

在selenium中我们怎么添加cookie呢?

driver.add_cookie({'name':'xxxx','value':'xxxx'})

上面这一段就是cookie的使用,在selenium里面cookie都是一段一段地加入的。然后再加上必要的文件头,这样子就能直接就绕开登录。

上面是比较常用的绕开登录问题的解决。有兴趣学selenium的话,可以关注公众号:诗一样的代码,留言给我,我教你系统地学。