首页 > 其他 > 详细

利用网易云音乐体会Selenium各种方法的使用

时间:2020-05-25 17:50:37      阅读:37      评论:0      收藏:0      [点我收藏+]
from selenium import webdriver
import  time
#显示等待的导入
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec

from selenium.webdriver.common.keys import Keys
# 用webdriver启动浏览器
dr=webdriver.Chrome()
#打开网易云音乐页面
dr.get(https://music.163.com/)
# 设置窗口的长宽
# dr.set_window_size(1800,800)
#设置窗口最大化
dr.maximize_window()

#设置全局的隐式等待(直到找到元素)
dr.implicitly_wait(10)

#显示等待,直到元素可见
ele=WebDriverWait(dr,5,0.5).until(
    ec.visibility_of_element_located((By.ID,"g_nav2"))
    )
# 截屏,截取整个界面
dr.get_screenshot_as_file(./v.png)
# 截屏,截取某个元素
ele.screenshot(./p.png)

#获取元素的大小
print(元素的大小:,ele.size)
#元素是否显示
print(元素是否显示:,ele.is_displayed())
#获取当前窗口
print(dr.title)
#获取当前的url
print(dr.current_url)
#获取当前窗口(窗口句柄)
print(窗口句柄:,dr.current_window_handle)

#点击排行榜
dr.find_element_by_css_selector(ul[class="nav"]>li:nth-of-type(2)).click()

#webdriver切换frame
dr.switch_to.frame(g_iframe)
time.sleep(2)
#点击播放,可以开始听歌了
dr.find_element_by_css_selector([class="btns f-cb"]>a:nth-of-type(1)).click()
#听20秒这首歌
time.sleep(10)

# 切换到上一层frame  在这里两种方法都适用,只有一个主HTML和一个嵌套的frame
dr.switch_to.parent_frame()

# # 从里面的frame切换到主HTML
# dr.switch_to.default_content()

#文本框输入 [歌名]
dr.find_element_by_css_selector(#srch).send_keys(I Am You)

#输入回车
dr.find_element_by_css_selector(#srch).send_keys(Keys.ENTER)

#哈哈,这里又需要切换iframe
#webdriver切换frame
dr.switch_to.frame(g_iframe)
time.sleep(2)

#播放这首歌
song=dr.find_element_by_css_selector([class="srchsongst"]>[class="item f-cb h-flag  "]:nth-of-type(1)>div:nth-of-type(1))
#显示等待,直到元素可见
ele=WebDriverWait(dr,5,0.5).until(
    ec.visibility_of(song)
    )
song.click()


#强制等待30秒,再听会歌~
time.sleep(30)

print(结束了~~~)
#关闭所有窗口 dr.quit()

 

利用网易云音乐体会Selenium各种方法的使用

原文:https://www.cnblogs.com/Lara1798/p/12958105.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!