HTTP接口测试流程(确保网络接口的可靠性和效率)
331
2022-09-03
让你的爬虫动起来!(爬虫爬下来)
你的网络爬虫会动吗?如何将爬虫进行可视化,今天我们来使用自动化测试框架Selenium和浏览器驱动ChromeDriver让你的爬虫动起来!
Selenium
Selenium是一个Web应用程序测试的工具,可以使基于它编写的程序运行在浏览器中,就像真正的用户在操作一样。
Selenium不是一个单一的工具,而是一套工具,帮助测试者更有效地基于Web的应用程序的自动化。
2
ChromeDriver
Selenium是一个开源工具,用于在许多浏览器上自动测试webapps。它提供了导航到网页,用户输入,JavaScript执行等功能。
ChromeDriver是一个独立的服务,它为Chromium实现Selenium的JsonWireProtocol协议。目前正在实现并转向W3C标准。ChromeDriver适用于Android版Chrome和桌面版Chrome(Mac,Linux,Windows和ChromeOS)。ChromeDriver是google 为网站开发人员提供的自动化测试接口,它是 selenium和chrome浏览器进行通信的桥梁。
官网地址:selenium import webdriver# 加载本地chrome驱动driver = webdriver.Chrome(executable_path="E:\\workspace\\Project\\script\\chromedriver.exe")
访问百度,输入关键字进行搜索
根据html的结构特点,通过Xpath和元素选择器的定位,爬取数据
# 找到要爬取内容ul = driver.find_element_by_xpath( '//*[@id="1"]/div/div[3]/div/div[2]/div[3]/div/div[2]/div/div/div[2]/div').find_element_by_tag_name("ul")lis = ul.find_elements_by_tag_name('li')result = []for i in range(0, len(lis)): info = {} if i == 0: continue info['country'] = lis[i].find_element_by_class_name('tab-item-place_2obgx') \ .find_element_by_tag_name('span').text info['gold'] = lis[i].find_elements_by_class_name('tab-item-medal_rKzT4')[0].text info['silver'] = lis[i].find_elements_by_class_name('tab-item-medal_rKzT4')[1].text info['bronze'] = lis[i].find_elements_by_class_name('tab-item-medal_rKzT4')[2].text info['total'] = lis[i].find_element_by_class_name('tab-item-sum_36AhL').text info['url'] = lis[i].find_element_by_class_name('tab-item-link_1hozG').get_attribute('href') result.append(info)
打印输出结果,并关闭浏览器
for item in result: driver.get(item['url']) driver.back() print(item)# 关闭驱动driver.close()# 关闭浏览器driver.quit()
运行效果:
end
作者:Lee,计算机硕士在读
关注我,一起学习,共同成长
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~