from selenium import webdriverdriver = webdriver.Chrome()driver.get('http://www.kuwo.cn/rankList')lis = driver.find_elements_by_xpath('//ul[@class="rank_list"]/li') # 这种写法慢慢不支持# print(lis)for li in lis:song_name = li.find_element_by_xpath('.//div[@class="song_name flex_c"]/a').textname = li.find_element_by_xpath('.//div[@class="song_artist"]/span').textprint(song_name, name)driver.quit() # 释放资源,关闭浏览器
附结果
总结一下:
由于selenium升级了,上面的写法已经不建议使用,而是建议使用下面的(By)写法:
1)增加一行导入: from selenium.webdriver.common.by import By2)如: lis = driver.find_elements_by_xpath(‘//ul[@class=”rank_list”]/li’)
改写为: lis = driver.find_elements(By.XPATH, ‘//ul[@class=”rank_list”]/li’)**
from selenium import webdriverfrom selenium.webdriver.common.by import Bydriver = webdriver.Chrome()driver.get('http://www.kuwo.cn/rankList')lis = driver.find_elements(By.XPATH, '//ul[@class="rank_list"]/li')# print(lis)for li in lis:song_name = li.find_element(By.XPATH,'.//div[@class="song_name flex_c"]/a').textname = li.find_element(By.XPATH,'.//div[@class="song_artist"]/span').textprint(song_name, name)driver.quit() # 释放资源,关闭浏览器
