首页 > 其他 > 详细

selenium的基础知识点

时间:2018-10-04 08:06:54      阅读:144      评论:0      收藏:0      [点我收藏+]
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

selenium的基础知识点

原文:https://www.cnblogs.com/ArtisticMonk/p/9741173.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!