from selenium importwebdriverfrom selenium.webdriver.support.wait importWebDriverWaitfrom selenium.webdriver.support importexpected_conditions as ECfrom selenium.webdriver.common.by importByimporttimeclassMusic163: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)deflogin(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)defsign_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()