selenium的基礎知識點

來源:互聯網
上載者:User

標籤:使用   執行   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的基礎知識點

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.