from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import sys
sys.path.append(r'C:\Users\libai\Documents') #导入账号,密码
from tests import *
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("http://music.163.com")
#用QQ登陆登陆
def login():
driver.find_element_by_css_selector(".m-tophead.f-pr.j-tflag > a").click()
#css 选择器中如果一个 tag 的 class 包含空格,要用.号代替空格
driver.find_element_by_css_selector(".lyct.lyct-1 > div > div.u-alt > ul > li:nth-child(2) > a").click()
print(driver.title)
music_handle = driver.current_window_handle
print(music_handle) # 输出当前窗口句柄
handles = driver.window_handles # 获取当前全部窗口句柄集合
#切换到QQ登陆页面
for handle in handles:
if handle != driver.current_window_handle:
print('switch to qq login window')
driver.switch_to_window(handle)
print(driver.title)
driver.switch_to.frame("ptlogin_iframe")
driver.find_element_by_css_selector("#switcher_plogin").click()
driver.find_element_by_css_selector("#u").clear()
driver.find_element_by_css_selector("#u").send_keys(account)
driver.find_element_by_css_selector("#p").clear()
driver.find_element_by_css_selector("#p").send_keys(password)
driver.find_element_by_css_selector("#login_button").click()
#QQ 登陆后登陆页面会自动关闭
#再次切换当前窗口
driver.switch_to_window(music_handle)
print(driver.title)
def close_window():
driver.close()
def play_music():
driver.switch_to.frame("g_iframe")
driver.find_element_by_css_selector("#personalRec > ul > li:nth-child(1) > a > span.mask.f-alpha").click()
print("time sleep")
print(driver.current_url)
time.sleep(10)
print(driver.title)
#登陆之后的页面操作出现一些问题,没有去解决,
#但是前面登陆都是可以用的
def main():
login()
print(driver.current_window_handle)
play_music()
print(driver.current_url)
time.sleep(20)
close_window()
if __name__ == "__main__":
main()
网友评论