分享106个JS表单脚本,总有一款适合您

简介: 分享106个JS表单脚本,总有一款适合您

分享106个JS表单脚本,总有一款适合您


 

106个JS表单脚本下载链接:https://pan.baidu.com/s/1Vabgg7OGCa1Vk4kch6Y3mA?pwd=okqt

提取码:okqt

Python采集代码下载链接:https://wwgn.lanzoul.com/iKGwb0kye3wj

jQuery评论框插入QQ表情代码

jQuery点击弹出登录窗口代码

jQuery支持删除重新选择表单代码

js表单文本框内容互换代码

jQuery步骤进度条样式代码

bootstrap后台登录表单代码

jQuery问卷调查选择题表单代码

js正则表达式表单验证代码

jQuery注册登录改密表单代码

jQuery实用的注册表单验证代码

jQuery仿京东注册表单验证代码

jQuery新浪微博用户评论表单代码

jQuery问卷调查表单编辑代码

表单checkbox多选框选择特效

vue.js表单密码强度验证代码

jQuery自定义单选按钮复选框代码

jQuery表单占位符动画插件

注册表单密码验证提示代码

jQuery超炫联系方式表单美化代码

import os
import shutil
import time
from time import sleep
from docx import Document
from docx.shared import Inches
from framework.base.BaseFrame import BaseFrame
from sprider.business.SeleniumTools import SeleniumTools
from sprider.business.SpriderTools import SpriderTools
from selenium import webdriver
from selenium.webdriver.common.by import By
from sprider.model.SpriderEntity import SpriderEntity
from sprider.access.SpriderAccess import SpriderAccess
title_name = "表单脚本"
class ChinaZJsSelenium:
    base_url =  "https://sc.chinaz.com/" # 采集的网址
    save_path = "D:\\Freedom\\Sprider\\ChinaZ\\"
    sprider_count = 106 # 采集数量
    sprider_start_count=100
    word_content_list = []
    folder_name = ""
    page_end_number=0
    max_pager=20 #每页的数量
    haved_sprider_count =0  # 已经采集的数量
    page_count = 1  # 每个栏目开始业务content="text/html; charset=gb2312"
    filter_down_file=[]
    def __init__(self):
        pass
    def sprider(self,title_name):
        """
       采集
       图片切换 https://sc.chinaz.com/tag_jiaoben/tupianqiehuan.html
       返回顶部 https://sc.chinaz.com/tag_jiaoben/fanhuidingbu.html
       动画效果 https://sc.chinaz.com/tag_jiaoben/donghuaxiaoguo.html
       倒计时 https://sc.chinaz.com/tag_jiaoben/daojishi.html
       弹出层 https://sc.chinaz.com/tag_jiaoben/danchuceng.html
       在线客服 https://sc.chinaz.com/jiaoben/kefu.html
       手风琴 https://sc.chinaz.com/tag_jiaoben/shoufengqin.html
       表单脚本 https://sc.chinaz.com/tag_jiaoben/biaodan.html
       :return:
       """
        if title_name == "图片切换":
            self.first_column_name = "tag_jiaoben"
            self.folder_name = "图片切换JS特效"
            self.second_column_name = "tupianqiehuan"
        elif title_name == "表单脚本":
            self.first_column_name = "tag_jiaoben"
            self.folder_name = "JS表单脚本"
            self.second_column_name = "biaodan"
        elif title_name == "返回顶部":
            self.folder_name = "JS返回顶部特效"
            self.second_column_name = "fanhuidingbu"
        elif title_name == "动画效果":
            self.first_column_name = "tag_jiaoben"
            self.folder_name = "JS特效动画效果"
            self.second_column_name = "donghuaxiaoguo"
        elif title_name == "倒计时":
            self.first_column_name = "tag_jiaoben"
            self.folder_name = "JS特效倒计时"
            self.second_column_name = "daojishi"
        elif title_name == "弹出层":
            self.first_column_name = "tag_jiaoben"
            self.folder_name = "JS特效弹出层"
            self.second_column_name = "danchuceng"
        elif title_name == "在线客服":
            self.first_column_name = "jiaoben"  # 一级目录
            self.folder_name = "JS特效在线客服"
            self.second_column_name = "kefu"
        elif title_name == "手风琴":
            self.first_column_name = "tag_jiaoben"
            self.folder_name = "JS特效手风琴"
            self.second_column_name = "shoufengqin"
        BaseFrame().right("本次采集参数:sprider_count=" + str(self.sprider_count) + "")
        BaseFrame().right("本次采集参数:title_name="+title_name+"")
        BaseFrame().right("本次采集参数:second_column_name=" + self.second_column_name + "")
        self.sprider_category = title_name  # 一级目录self.folder_name
        second_folder_name = str(self.sprider_count) + "个" + self.folder_name #二级目录
        self.sprider_type =second_folder_name
        self.merchant=int(self.sprider_start_count) //int(self.max_pager)+1 #起始页码用于效率采集
        #原始路径+一级目录+二级目录
        self.file_path = self.save_path + os.sep + "JS" + os.sep + self.folder_name  + os.sep + second_folder_name
        self.save_path = self.save_path+ os.sep + "JS" + os.sep+self.folder_name +os.sep + second_folder_name+ os.sep + self.folder_name
        BaseFrame().debug("开始采集ChinaZJS"+self.folder_name+"源码...")
        sprider_url = (self.base_url + "/{1}/{0}.html".format(self.second_column_name,self.first_column_name))
        down_path="D:\\Freedom\\Sprider\\ChinaZ\\JS\\"+self.folder_name +"\\"+second_folder_name+"\\Temp\\"
        if os.path.exists(down_path) is True:
            shutil.rmtree(down_path)
        if os.path.exists(down_path) is False:
            os.makedirs(down_path)
        if os.path.exists(self.save_path ) is True:
            shutil.rmtree(self.save_path )
        if os.path.exists(self.save_path ) is False:
            os.makedirs(self.save_path )
        chrome_options = webdriver.ChromeOptions()
        diy_prefs ={'profile.default_content_settings.popups': 0,
                    'download.default_directory':'{0}'.format(down_path)}
        # 添加路径到selenium配置中
        chrome_options.add_experimental_option('prefs', diy_prefs)
        chrome_options.add_argument('--headless') #隐藏浏览器
        # 实例化chrome浏览器时,关联忽略证书错误
        driver = webdriver.Chrome(options=chrome_options)
        driver.set_window_size(1280, 800)  # 分辨率 1280*800
        # driver.get方法将定位在给定的URL的网页,get接受url可以是任何网址,此处以百度为例
        driver.get(sprider_url)
        # content = driver.page_source
        element_list = driver.find_elements(By.CLASS_NAME, "picblock")  # 列表页面 核心内容
        #element_list = div_elem.find_elements(By.CLASS_NAME, 'item')
        #print(element_list.get_attribute('innerHTML'))
        laster_pager_div = driver.find_element(By.CLASS_NAME, "fenye")
        laster_pager_a =laster_pager_div.find_elements(By.TAG_NAME, 'a')
        laster_pager_url = laster_pager_a[len(laster_pager_a) - 2]
        page_end_number = int(laster_pager_url.text)
        self.page_count=self.merchant
        while self.page_count <= int(page_end_number):  # 翻完停止
            try:
                if self.page_count == 1:
                    self.sprider_detail(driver,element_list,self.page_count,page_end_number,down_path)
                    pass
                else:
                    if self.haved_sprider_count == self.sprider_count:
                        BaseFrame().debug("采集到达数量采集停止...")
                        BaseFrame().debug("开始写文章...")
                        self.builder_word(self.folder_name, self.word_content_list)
                        BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")
                        break
                    #(self.base_url + "/sort/{0}/{1}/".format(url_index, self.page_count))
                    #http://soft.onlinedown.net/sort/177/2/
                    #https://sc.chinaz.com/tag_jiaoben/tupianqiehuan_2.html
                    next_url = self.base_url + "/tag_jiaoben/{0}_{1}.html".format(self.second_column_name, self.page_count)
                    driver.get(next_url)
                    element_list = driver.find_elements(By.CLASS_NAME, "picblock")  # 列表页面 核心内容
                    self.sprider_detail( driver, element_list, self.page_count, page_end_number, down_path)
                    pass
                #print(self.page_count)
                self.page_count = self.page_count + 1  # 页码增加1
            except Exception as e:
                print("sprider()执行过程出现错误:" + str(e))
                sleep(1)

CSS3登录注册表单滑动切换特效

jQuery表单输入城市查询天气预报代码

CSS3单选按钮和复选按钮特效

jQuery表单设计器自由拖拽特效

jQuery手机端城市三级联动代码

jQuery随机选择音乐试题代码

html5关闭表单窗口裂开动画特效

CSS3用户登录框样式代码

jQuery表单浮动标签设计效果代码

jQuery手机端左右滑动切换表单代码

html5手机登录表单验证代码

jQuery录入商品信息表单代码

jQuery提交左右摇晃登录注册表单代码

jQuery站点后台登录表单代码

jQuery表单输入框浮动标签特效

JS带提示登录表单验证代码

HTML5手机身份证上传表单提交代码

原生js带提示留言表单验证代码

jQuery腾讯云诊断域名表单验证特效

jQuery微信手机端答题表单特效

jQuery动画登录注册表单切换代码

jQuery勾选购物车数量增加减少代码

CSS学生入学毕业档案表单样式代码

jQuery表单OA员工部门分组代码

jQuery自定义添加删除表单代码

jQuery表单元素动态增加删除代码

js问卷调查投票页面表单代码

jQuery可筛选下拉框美化插件

jQuery投资网站弹出框确认表单代码

Bootstrap扁平带浮动标签表单

jQuery电网分分步骤注册表单代码

表单Checkbox元素美化特效

jQuery星级评论表单美化代码

jQuery带步骤找回密码表单代码

jQuery单选框和复选框美化代码

jQuery按F5刷新随机标签云代码

jQuery Select下拉框美化插件

jQuery会员注册表单验证代码

html5用手机号码注册表单代码

html5表单注册进度条提示效果

def sprider_detail(self, driver,element_list,page_count,max_page,down_path):
        """
        采集明细页面
        :param driver:
        :param element_list:
        :param page_count:
        :param max_page:
        :param down_path:
        :return:
        """
        index = 0
        element_array=[]
        element_length=len(element_list)
        #print("每页共"+str(element_length))
        for element in element_list:
            div_list= element.find_elements(By.TAG_NAME,  'div')
            #print(len(div_list))
            a_elenent=div_list[1].find_element(By.TAG_NAME,  'a')
            next_url = a_elenent.get_attribute("href")
            coder_title = a_elenent.get_attribute("alt")
            e=coder_title+"$"+ next_url
            element_array.append(e)
            pass
        if int(self.page_count) == int(self.merchant):
            self.sprider_start_index = int(self.sprider_start_count) % int(self.max_pager)
            index=self.sprider_start_index
        while index < element_length:
            if os.path.exists(down_path) is False:
                os.makedirs(down_path)
            if self.haved_sprider_count == self.sprider_count:
                BaseFrame().debug("采集到达数量采集停止...")
                break
            #element = element_list[index]
            element=element_array[index]
            time.sleep(1)
            index = index + 1
            sprider_info="正在采集第"+str(page_count)+"页的第"+str(index)+"个资源,共"+str(max_page)+"页资源"
            BaseFrame().debug(sprider_info)
            next_url=element.split("$")[1]
            coder_title=element.split("$")[0]
            # next_url = element.find_element(By.TAG_NAME, 'a').get_attribute("href")
            # coder_title =element.find_element(By.TAG_NAME, 'img').get_attribute("title")
            try:
                codeEntity = SpriderEntity()  # 下载过的资源不再下载
                codeEntity.sprider_base_url = self.base_url
                codeEntity.create_datetime = SpriderTools.get_current_datetime()
                codeEntity.sprider_url = next_url
                codeEntity.sprider_pic_title = coder_title
                codeEntity.sprider_pic_index = str(index)
                codeEntity.sprider_pager_index = page_count
                codeEntity.sprider_type = self.sprider_type
                if SpriderAccess().query_sprider_entity_by_urlandindex(next_url, str(index)) is None:
                    SpriderAccess().save_sprider(codeEntity)
                else:
                    BaseFrame().debug(coder_title+next_url + "数据采集过因此跳过")
                    continue
                driver.get(next_url)  # 请求明细页面1
                sleep(0.5)
                if SeleniumTools.judeg_element_isexist(driver, "CLASS_NAME", "dian") == 3:
                    driver.back()
                    BaseFrame().debug(coder_title+"下载按钮不存在,因此跳过哦....")
                    continue
                print("准备点击下载按钮...")
                div_element_list=driver.find_elements(By.CLASS_NAME, "dian") #下载源码.click()
                a_element=div_element_list[1].find_element(By.TAG_NAME, "a")
                a_element.click()
                sleep(0.5)
                result,message=SpriderTools.judge_file_exist(True,240,1,down_path,self.filter_down_file,"zipt|rar|gz|tgz")#判断源码
                if result is True:
                    sprider_content = [coder_title, self.save_path + os.sep +"image"+ os.sep + coder_title + ".jpg"]  # 采集成功的记录
                    self.word_content_list.append(sprider_content)  # 增加到最终的数组
                    self.haved_sprider_count = self.haved_sprider_count + 1
                    BaseFrame().right("已经采集完成第" + str(self.haved_sprider_count) + "个")
                    time.sleep(1)
                    driver.back()
                    coder_title = str(coder_title).replace("::", "").replace("/", "").strip() #去掉windows不识别的字符
                    files = os.listdir(down_path)
                    file_name = files[0]  # 获取默认值
                    srcFile = down_path + os.sep + file_name
                    file_ext = os.path.splitext(srcFile)[-1]
                    dstFile = down_path + os.sep + coder_title + file_ext
                    os.rename(srcFile, dstFile)
                    srcFile = dstFile
                    dstFile = self.save_path + os.sep + coder_title + file_ext
                    shutil.move(srcFile, dstFile)  # 移动文件
                else:
                    files = os.listdir(down_path)  # 读取目录下所有文件
                    coder_title = str(coder_title).replace("/", "")  # 去掉windows不识别的字符
                    try:
                        if str(message)=="0个文件认定是False":
                            BaseFrame().error(coder_title+"文件不存在...")
                            shutil.rmtree(down_path)  # 如果没下载完是无法删除的
                            pass
                        else:
                            BaseFrame().error("检测下载文件出错可能原因是等待时间不够已经超时,再等待60秒...")
                            time.sleep(60)
                            shutil.rmtree(down_path) #如果没下载完是无法删除的
                            #清空数组
                            self.filter_down_file.clear()
                    except Exception as e:
                        # 使用数组append记录文件名字 移动的时候过滤
                        self.builder_filter_file(files)
                    pass
            except Exception as e:
                BaseFrame().error("sprider_detail()执行过程出现错误:" + str(e))
                BaseFrame().error("sprider_detail()记录下载的文件名")
                # 使用数组append记录文件名字 移动的时候过滤
                files = os.listdir(down_path)  # 读取目录下所有文件
                self.builder_filter_file(files)
        if(int(page_count)==int(max_page)):
            self.builder_word(self.folder_name,self.word_content_list)
            BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")

html5文件上传组件美化特效

jQuery带背景切换登录注册表单

js文本复制与剪切插件clipboard

jQuery复制表单元素代码

jQuery鼠标点击弹出登录框代码

html5文件上传输入框样式代码

js下拉选择配送城市列表代码

jQuery select下拉框美化插件

jQuery滑动解锁登录表单代码

Bootstrap复选框样式美化特效

jQuery+CSS3点击动画弹出表单代码

jQuery随着输入内容变化的表单代码

div css手机网站login表单特效

jQuery自动填充表单功能代码

jQuery手机登录注册表单代码

jquery女性月经安全期计算器代码

div+css银行提现手机表单代码

jQuery添加删除表单元素代码

jQuery仿魅族官网注册表单代码

import os
def void_file(dirPath):
    dirs = os.listdir(dirPath)  # 查找该层文件夹下所有的文件及文件夹,返回列表
    for file in dirs:
        file_full_name = dirPath + '/' + file
        file_ext = os.path.splitext(file_full_name)[-1]
        if file_ext is None  or file_ext=="":
            continue
        if "rar" == str(file_ext.split(".")[1]):
            os.remove(file_full_name)
        if "zipt" == str(file_ext.split(".")[1]):
            os.remove(file_full_name)
        if "gz" == str(file_ext.split(".")[1]):
            os.remove(file_full_name)
        if "tgz" == str(file_ext.split(".")[1]):
            os.remove(file_full_name)
# 查找指定文件夹下所有相同名称的文件
def search_file(dirPath, fileName):
    dirs = os.listdir(dirPath)  # 查找该层文件夹下所有的文件及文件夹,返回列表
    for currentFile in dirs:  # 遍历列表
        absPath = dirPath + '/' + currentFile
        if os.path.isdir(absPath):  # 如果是目录则递归,继续查找该目录下的文件
            search_file(absPath, fileName)
        elif currentFile == fileName:
            print(absPath)  # 文件存在,则打印该文件的绝对路径
            os.remove(absPath)

HTML5手机登录注册表单代码

带网上开户表单jQuery焦点图

jQuery仿去哪儿城市选择代码

jQuery会员中心安全修改表单代码

jQuery表单输入文字计数显示代码

jQuery实现用户评论留言代码

有趣的jquery搜索框插件zySearch

jQuery实现汉字转换成拼音代码

jQuery下拉友情链接美化代码

HTML5 SVG表单浮动标签特效

jquery表单获取短信验证码代码

jQuery商品分类选择提交表单代码

简洁实用的jQuery表单验证代码

jQuery下拉美化搜索表单样式代码

jQuery联动下拉框表单美化

jQuery表单元素美化插件jqtransform

jquery会员注册表单验证代码

jquery仿淘宝SKU选择商品属性代码

jquery简单的注册表单验证代码

jQuery用户注册表单验证代码

jquery+css3动画弹出表单提交代码

js select选中显示不同表单内容

jQuery文字选项问卷调查表单提交

Ctrl+Enter键按钮提交表单代码

jquery表单文本框添加文字标签

jquery带登录注册幻灯片代码

CSS3可自动输入登录表单动画

jQuery标签插件flyLabel

 

最后送大家一首诗:

山高路远坑深,

大军纵横驰奔,

谁敢横刀立马?

惟有点赞加关注大军。

 

目录
相关文章
|
17天前
|
JSON 移动开发 JavaScript
在浏览器执行js脚本的两种方式
【10月更文挑战第20天】本文介绍了在浏览器中执行HTTP请求的两种方式:`fetch`和`XMLHttpRequest`。`fetch`支持GET和POST请求,返回Promise对象,可以方便地处理异步操作。`XMLHttpRequest`则通过回调函数处理请求结果,适用于需要兼容旧浏览器的场景。文中还提供了具体的代码示例。
在浏览器执行js脚本的两种方式
|
12天前
|
前端开发 JavaScript 安全
HTML+CSS+JS密码灯登录表单
通过结合使用HTML、CSS和JavaScript,我们创建了一个带有密码强度指示器的登录表单。这不仅提高了用户体验,还帮助用户创建更安全的密码。希望本文的详细介绍和代码示例能帮助您在实际项目中实现类似功能,提升网站的安全性和用户友好性。
25 3
|
1月前
|
JavaScript 数据安全/隐私保护
2024了,你会使用原生js批量获取表单数据吗
2024了,你会使用原生js批量获取表单数据吗
48 4
|
1月前
|
JavaScript 前端开发 数据安全/隐私保护
前端技术分享:使用Vue.js构建响应式表单
【10月更文挑战第1天】前端技术分享:使用Vue.js构建响应式表单
|
2月前
|
移动开发 JavaScript 前端开发
js之操作表单 | 12-4
js之操作表单 | 12-4
|
2月前
|
移动开发 前端开发 JavaScript
JavaScript 表单
JavaScript 表单
29 9
|
2月前
|
JavaScript 前端开发
用JavaScript脚本将当地时间转换成其它时区
用JavaScript脚本将当地时间转换成其它时区
|
2月前
|
人工智能 前端开发 JavaScript
react js 处理表单( form )的2个例子
react js 处理表单( form )的2个例子
|
3月前
|
大数据 数据处理 分布式计算
JSF 逆袭大数据江湖!看前端框架如何挑战数据处理极限?揭秘这场技术与勇气的较量!
【8月更文挑战第31天】在信息爆炸时代,大数据已成为企业和政府决策的关键。JavaServer Faces(JSF)作为标准的 Java Web 框架,如何与大数据技术结合,高效处理大规模数据集?本文探讨大数据的挑战与机遇,介绍 JSF 与 Hadoop、Apache Spark 等技术的融合,展示其实现高效数据存储和处理的潜力,并提供示例代码,助您构建强大的大数据系统。
49 0
|
3月前
|
Devops 持续交付 测试技术
JSF遇上DevOps:开发流程将迎巨变?一篇文章带你领略高效协同的魅力!
【8月更文挑战第31天】本文探讨了如何在JavaServer Faces(JSF)开发中融入DevOps文化,通过持续集成与部署、自动化测试、监控与日志记录及反馈机制,提升软件交付速度与质量。文中详细介绍了使用Jenkins进行自动化部署、JUnit与Selenium进行自动化测试、ELK Stack进行日志监控的具体方法,并强调了持续改进的重要性。
39 0