利用selenium 模仿瀏覽器,登錄豆瓣css
重點: html
1. 要設置好 chromedriver配置與使用, chromedriver.exe 和 Chrome的瀏覽器版本要對應, http://chromedriver.storage.googleapis.com/index.html python
2. Js代碼寫完能夠在瀏覽器F12的控制檯交互測試一下web
from selenium import webdriver import time driver = webdriver.Chrome() driver.get('https://www.douban.com/') driver.implicitly_wait(1) # 切換iframe子框架 driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0]) # 最大化窗口 driver.maximize_window() # 點擊密碼登陸的標籤 driver.find_element_by_css_selector('li.account-tab-account').click() # 輸入帳號以前清理默認的字符 driver.find_element_by_id('username').clear() driver.find_element_by_id('username').send_keys('17620039002') driver.find_element_by_id('password').clear() driver.find_element_by_id('password').send_keys('123456@#') # 點擊‘登陸豆瓣’按鈕 # 這裏須要注意,當元素的class屬性有好幾個的時候,此函數的參數填class的第一個就好 # 元素的class屬性:btn btn-account driver.find_element_by_class_name('btn').click() time.sleep(2) # 向下滾動10000像素,JS寫法,能夠直接在F12控制檯作交互測試代碼準確性 js = 'document.documentElement.scrollTop=10000' #js = 'var q=document.documentElement.scrollTop=10000' driver.execute_script(js) driver.implicitly_wait(5) # 停2秒後,抓取快照 driver.save_screenshot('D:\\douban.jpg') # 保存源碼 with open('D:\\douban_shouye.html', 'w', encoding='utf-8') as f: f.write(driver.page_source) driver.quit() print('wanle')