from selenium import webdriver
driver = 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').text
name = li.find_element_by_xpath('.//div[@class="song_artist"]/span').text
print(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 webdriver
from selenium.webdriver.common.by import By
driver = 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').text
name = li.find_element(By.XPATH,'.//div[@class="song_artist"]/span').text
print(song_name, name)
driver.quit() # 释放资源,关闭浏览器