selenium的基础知识点

from selenium import webdriver
from 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 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
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
以上内容作为课堂笔记,如有雷同,请联系于我
原文地址:https://www.cnblogs.com/ArtisticMonk/p/9741173.html