Selenium是一个用于Web应用程序测试的工具。
Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。
支持的浏览器包括IE(7, 8, 9, 10, 11),Firefox,Safari,Chrome,Opera等。
使用python爬虫调用selenium来模拟正常用户访问浏览器.
from selenium import webdriver
browser=webdriver.Chrome()
browser.get('https://music.163.com/#/discover/toplist')
iframe=browser.find_element_by_id('g_iframe')
browser.switch_to.frame(iframe)
parent=browser.find_element_by_tag_name('tbody')
trs=parent.find_elements_by_tag_name('tr')
len(trs)
data=[]
for each_tr in trs:
rank=each_tr.find_element_by_class_name('num').text
songName=each_tr.find_element_by_tag_name('b').get_attribute('title')
singer=each_tr.find_element_by_class_name('text').get_attribute('title')
data.append([rank,songName,singer])
from openpyxl import Workbook
wb=Workbook()
sheet=wb.active
sheet.title='排行榜'
sheet.append('排名,歌名,歌手'.split(','))
for each in data:
sheet.append(each)
wb.save('网易云.xlsx')