码迷,mamicode.com
首页 > 其他好文 > 详细

selenium登录网易云音乐并签到

时间:2020-06-27 17:27:38      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:use   ons   地方   user   class   def   The   import   max   

此例中值得注意的地方是frame的切换,切换到某个frame可以用 browser.switch_to.frame(frame_name) 返回上一级可以用 browser.switch_to.parent_frame() 

全部代码如下:

from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import time

class Music163:
    def __init__(self):
        url = https://music.163.com
        options = webdriver.ChromeOptions()
        options.add_argument(--headless)
        self.browser = webdriver.Chrome(executable_path=D:\\Program Files (x86)\\chromedriver.exe, chrome_options=options)
        self.browser.maximize_window()
        self.browser.get(url=url)
        self.wait = WebDriverWait(self.browser, 10)

    def login(self, username, password):
        self.browser.switch_to.frame(contentFrame)
        self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, #index-enter-default))).click()
        self.browser.switch_to.parent_frame()
        self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, #otherbtn))).click()
        self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, #j-official-terms))).click()
        self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, .u-btn2-2))).click()
        self.wait.until(EC.presence_of_element_located((By.ID, p))).send_keys(username)
        self.wait.until(EC.presence_of_element_located((By.ID, pw))).send_keys(password)
        self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, .u-btn2-2))).click()
        time.sleep(3)

    def sign_in(self):
        self.browser.switch_to.frame(contentFrame)
        self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, .btnwrap>a))).click()

    def __del__(self):
        self.browser.close()

if __name__ == __main__:
    m = Music163()
    m.login(username, password)
    m.sign_in()

 

selenium登录网易云音乐并签到

标签:use   ons   地方   user   class   def   The   import   max   

原文地址:https://www.cnblogs.com/pau1fang/p/13198943.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!