胖虎 发表于 2018-3-15 16:24:22

爬虫之自动化测试

首先需要知道自动化测试所必需的selenium
selenium是一个用于Web应用程序测试的工具。selenium 测试直接运行在浏览器中,就像真正的用户在
操作一样。 支持的浏览器包括IE,chrome和Firefox等。
再者你要选择一个用来测试的浏览器,我选的是火狐,其他的没试过,应该都差不多。
如果你选火狐的话就要用到火狐的浏览器驱动器,也就是geckodriver。这个东西很常见,随便百度一
下geckodriver.exe就能找到。
选浏览器的话还有一个注意事项,因为现在的浏览器都越来越高大上,功能一直在优化,所以就可能
出现浏览器版本过高不支持selenium的情况,建议大家遇到这种问题一是用最新版本的selenium,而是
降低一下浏览器的版本。其他的我不知道,火狐是46版本以上就不支持selenium,所以我用的是45版
本的火狐拿来测试。

上面说的两种东西大家如果没找到或者怕麻烦的话可以加我QQ:936285470

先给代码:
import time
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

# 进入新浪微博
url = 'http://weibo.com/login.php'
binary = FirefoxBinary('D:\\program files (x86)\\Mozilla Firefox\\firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary,executable_path='C:/Users/Administrator/Desktop/geckodriver.exe')
//这里百度上很多的就是webdriver.Firefox() 需要注意的是如果不给出火狐的浏览器驱动器路径和火狐浏览器的路径的话,可能会出错,所以建议最好手动给个路径防止出错

driver.get(url) //打开url指定的页面driver.maximize_window()//将打开的浏览器全屏
print('进入成功') //打开浏览器并进入指定网页成功标志

登录成功后我们就可以“想干嘛就干嘛啦”
打开浏览器的控制台,去找你想要用代码操作的input、div、button等等等等的id或者class或者其他的。
webdriver提供了多种查找html页面的节点的方法,具体请大家自行百度。
下面就举个栗子,这个其实百度一搜一大把,不过大部门都是拿百度的首页写的例子,我这里举一个
稍微复杂点的栗子吧(其实也没比百度的栗子高大上多少):

name_field = driver.find_element_by_id('loginname')
name_field.clear()
name_field.send_keys('你的微博用户名')

password_field = driver.find_element_by_class_name('password').find_element_by_name('password')
password_field.clear()
password_field.send_keys('你的微博密码')

submit = driver.find_element_by_class_name('W_login_form').find_element_by_link_text('登录')
submit.click()

# 等待页面刷新,完成登陆
time.sleep(5)
print('登陆完成')   //登录成功标志

海海豚 发表于 2018-3-16 13:32:27

谢谢分享!

libingyu135 发表于 2018-4-25 16:42:52

666
页: [1]
查看完整版本: 爬虫之自动化测试