標籤:使用 執行 find selenium page _id selector @class 選擇
from selenium import webdriverfrom scrapy.selector import Selector#類比登陸browser = webdriver.Chrome(executable_path=‘Chromedriver.exe‘)#路徑是Chromedriver.exe的存放位置,windows下只要配置好這個環境就不需要了browser.get(‘http://w‘) #需要登陸的那個網址browser.find_element_by_xpath(‘//div[@view]/imput‘).send_keys(‘..........‘)#需要輸入的表單如帳號browser.find_element_by_xpath(‘//div[@view]/imput‘).send_keys(‘..........‘)#需要輸入的表單如密碼browser.find_element_by_id(‘captcha‘).send_keys(input("有驗證碼輸入驗證碼"))browser.find_element_by_xpath(‘//div[登陸的那個按鈕]‘).click()#點擊登陸browser.quit()#退出瀏覽器
基本的點擊與發送
#可以用selenium得到js載入後的html,比如抓取js載入的內容browser = webdriver.Chrome(executable_path=‘‘)browser.get(‘http://...‘)print(browser.page_source)#js載入完成的源碼‘‘‘如果需要選取器快一點就使用scrapy中的Selector‘‘‘Seit = Selector(text=browser.page_source)print(Seit.xpath(‘//*[@...]/text‘).extract())#注意js載入本身就慢,在scrapy的非同步當中,爬取的內容很快,導致有些js沒有載入完成#這樣的話,只需要睡幾秒就行
動態載入的資料擷取
import timefrom selenium import webdriverfrom scrapy.selector import Selectorbrowser = webdriver.Chrome(executable_path=‘..‘)browser.get(‘http://.....‘)Seit = Selector(text=browser.page_source)Seit.xpath(‘//div[@class=""]/text()‘).extract().send_keys("00000000")Seit.xpath(‘//div[@class=""]/text()‘).extract().send_keys(‘************‘)Seit.xpath(‘//div[@class=""]/text()‘).extract().click()#下拉for i in range(3): ‘‘‘三次下拉操作 execute_script是用來執行js代碼‘‘‘ browser.execute_script("window.scrollTo(0,document.body.scrollHeight) var lenOfPage=docment.body.scrollHeight;return lenOfPage") time.sleep(3)# phantomjs無頭瀏覽器:http://phantomjs.org/download.html
import time
from selenium import webdriver
from scrapy.selector import Selector
browser = webdriver.Chrome(executable_path=‘..‘)
browser.get(‘http://.....‘)
Seit = Selector(text=browser.page_source)
Seit.xpath(‘//div[@class=""]/text()‘).extract().send_keys("00000000")
Seit.xpath(‘//div[@class=""]/text()‘).extract().send_keys(‘************‘)
Seit.xpath(‘//div[@class=""]/text()‘).extract().click()
#下拉
for i in range(3):
‘‘‘三次下拉操作 execute_script是用來執行js代碼‘‘‘
browser.execute_script("window.scrollTo(0,document.body.scrollHeight) var lenOfPage=docment.body.scrollHeight;return lenOfPage")
time.sleep(3)
# phantomjs無頭瀏覽器:http://phantomjs.org/download.html
selenium的基礎知識點