精华内容
下载资源
问答
  • selenium2默认是火狐浏览器,所以是自带火狐浏览器的driver,到了selenium3.0,火狐的geckodriver这个亲生儿子出生,那么原来在selenium2中的driver就不能再用了,想必大家都很苦恼在哪里下载geckodriver呢,我帮大家...
  • Android 图片浏览全屏缩放

    千次下载 热门讨论 2014-05-10 23:18:39
    高仿现在主流的图片浏览的全屏缩放效果。如QQ好友动态、微信朋友圈。
  • Firefox 火狐浏览器 24.0

    热门讨论 2013-10-08 00:25:00
    Firefox 火狐浏览器 24.0 2013 年 09 月 17 日最新发布 更新内容: 支持 Mac OS X 10.7 或更高版本上新的滚动条样式 新增“关闭右侧标签页”功能 Social: 将聊天窗口拖拽成独立窗口 不再支持证书废除列表功能...
  • json-handle谷歌浏览器json数据解析工具

    千次下载 热门讨论 2014-10-24 08:26:23
    json-handle谷歌浏览器json数据解析工具,装了此插件,在访问json数据时,自动解析成清晰的json格式.不用再为json而看得头晕眼花.此插件的使用:打开谷歌浏览器,到设置里面的拓展程序,然后勾选最上面的开发者模式,最后...
  • 第一种:拖动到谷歌浏览器拓展程序界面即可完成安装。 第二种:将文件后缀名 .crx 改为 .zip,解压到文件夹中,在chrome的设置->更多工具->扩展程序->开启开发者模式->加载已解压的扩展程序->选择文件夹加载。
  • TBS 腾讯浏览服务(X5WebView) 集成指南

    千次阅读 2019-06-15 18:38:14
    TBS 腾讯浏览服务 之X5WebView集成指南

    1. 什么是腾讯浏览服务?

    1.1 腾讯浏览服务

    • 移动互联网时代,Web成为各超级App的通用基础技术。Web浏览不再局限于传统浏览器,相反已经进入绝大部分App的各类应用场景。越来越多的App基于Hybrid模式开发和部署业务。
    • 腾讯浏览服务(TBS,Tencent Browsing Service)整合腾讯底层浏览技术和腾讯平台资源及能力,提供整体浏览服务解决方案。腾讯浏览服务面向应用开发商和广大开发者,提供浏览增强,内容框架,广告体系,H5游戏分发,大数据等服务,能够帮助应用开发商大幅改善应用体验,有效提升开发,运营,商业化的效率。
    • 腾讯浏览服务目前已接入超过1000款App,涵盖20个多个行业和领域;目前平台日活跃用户超5亿;日均处理访问需求超 110亿次,累计处理移动页面需求已接近57000亿次。腾讯浏览服务的发布同时也意味着腾讯首次对外开放万亿级数据能力为行业伙伴提供服务。

    1.2 浏览增强

    传统系统内核(Webview)存在适配成本高、不安全、不稳定、耗流量、速度慢、视频播放差、文件能力差等问题,这是移动应用开发商在进行Hybrid App开发时普遍面临的难题。腾讯浏览服务基于腾讯X5内核解决方案(包括内核和云服务),能够有效解决传统移动web技术面临的普遍问题,同时能极大扩展应用(Hybrid App)内浏览场景的服务能力。

    1.2.1 安全

    腾讯浏览服务为应用浏览场景提供完善的安全保障体系,包括:云安全方案:保障数据安全,防恶意劫持(DNS劫持,HTTP劫持等),防恶意网址,防恶意文件下载等;端安全方案:及时解决系统内核无法解决的各类风险和漏洞,支持热修复,24小时安全问题解决机制。

    1.2.2 极速,省流

    腾讯浏览服务在云端对网页及资源流进行压缩,在终端优化网页加载全流程。基于腾讯浏览服务,流量消耗普遍可减少20%~40%,网页加载速度平均可提升35%。

    1.2.3 可靠

    经过亿级用户的使用考验,腾讯浏览服务crash率低于0.06%。

    1.2.4 兼容

    • Android应用及前端开发都面临严重碎片化问题,不同尺寸手机,不同操作系统,不同浏览器内核的浏览效果可能大相径庭,开发者须付出极大适配成本。
    • X5内核基于统一Blink内核,无缝隐藏系统差异,在所有Android手机平台表现一致;同时,X5也是微信、手机QQ、手机QQ空间、手机QQ浏览器等超级App的内核。腾讯浏览服务可以帮助开发者实现一次开发,同时适配App、手机浏览器、社交媒体,有效提升应用开发效率。

    1.2.5 HTML5能力

    腾讯浏览服务提供完善的HTML5能力支持。特别是,腾讯浏览服务针对canvas, webGL的渲染能力和性能大大优于传统内核,能够有效支持复杂的HTML5手游(包括基于HTML5的3D,VR类游戏)实现不逊色于Native的性能体验。基于腾讯浏览服务的HTML5游戏可以流畅运行于国内市场占有率领先的HTML5手机游戏渠道,包括手机QQ浏览器页游平台、手机QQ空间玩吧等。

    1.2.6 内核共享

    基于腾讯浏览服务,应用可以与超级应用(如微信、手机QQ、手机QQ空间、手机QQ浏览器)宿主共享X5内核,因而应用只需集成约200K
    size的SDK即可使用腾讯浏览服务。

    1.2.7 增强浏览能力

    1.2.7.1 文件打开能力

    目前支持42种文件格式,包括20种文档、12种音乐、6种图片和4种压缩包。帮助应用实现应用内文档浏览,无需跳转调用其他应用。

    1.2.7.2 视频支持能力

    目前支持26种视频格式。

    1.2.7.3 下载能力

    腾讯浏览服务内嵌下载能力。基于腾讯浏览服务,应用无需调用其他下载资源,有效减少劫持换包风险。

    1.2.7.4 浏览体验扩展

    腾讯浏览服务提供丰富的浏览功能扩展,提升浏览体验

    1.3 整合能力开放

    腾讯浏览服务不仅是移动互联网的Web技术解决方案,同时,基于腾讯庞大的内容和运营体系,整合内容框架和商业能力,腾讯浏览服务还向合作伙伴开放:内容,商业,数据能力,帮助合作伙伴有效运营内容,提升用户粘性,实现商业变现。同时,腾讯浏览服务宣布不参与广告分成,将收益100%给合作伙伴。

    1.3.1 内容能力

    • 腾讯浏览服务内容模块包含资讯、视频、小说、游戏以及独有的微信热文等,合作伙伴可以根据自身产品形态和用户群体选择自定义的内容模块接入,对自身产品服务进行补充。
    • 例如针对HTML5游戏,腾讯浏览服务提供从技术到运营和变现,包括技术平台,游戏选型,运营,框架集成,登录,支付等的端到端服务,帮助合作伙伴一键接入HTML5游戏运营平台,基于自身业务属性低成本运营HTML5游戏。

    1.3.2 大数据服务能力

    腾讯浏览服务的大数据能力基于腾讯庞大的产品体系,包括微信、手机QQ、手机QQ浏览器等超级应用以及各类垂直应用。腾讯浏览服务为合作伙伴所提供的内容、广告能力均基于腾讯立体化的的数据系统。合作伙伴可以通过腾讯浏览服务提升数据分析能力,更有效率地运营内容。

    1.3.3 商业能力

    • 基于腾讯浏览服务广告框架的腾讯广告联盟
      合作伙伴可通过腾讯浏览服务广告框架接入腾讯广告联盟,在不影响用户体验的情况下于内容模块以及其他产品页面中嵌入广告位。广告主资源由腾讯广告联盟提供,同时腾讯宣布不参与广告分成,目前阶段将该部分收益100%分给合作伙伴。腾讯浏览服务和腾讯广告联盟基于腾讯的大数据能力,能够为合作伙伴的用户赋予更多标签,提升广告效果,兼顾用户体验,从而为合作伙伴提供更好的收益。
    • 商业Portal
      合作伙伴可便捷接入腾讯浏览服务提供的定制化商业Portal,基于应用自身属性运营内容并直接获得其中的商业收益。

    浏览是移动互联网最基础的功能之一,腾讯希望通过资源和能力的聚合将浏览的价值进行更好的挖掘,并通过服务的形式提供给合作伙伴。腾讯希望将整合了全新能力和资源的浏览价值通过服务的形式共享给合作伙伴,让数据和技术在更大范围内创造出不一样的精彩。

    1.4 TBS (腾讯浏览服务)的优势

    1. 速度快:相比系统webview的网页打开速度有30+%的提升;
    2. 省流量:使用云端优化技术使流量节省20+%;
    3. 更安全:安全问题可以在24小时内修复;
    4. 更稳定:经过亿级用户的使用考验,CRASH率低于0.15%;
    5. 兼容好:无系统内核的碎片化问题,更少的兼容性问题;
    6. 体验优:支持夜间模式、适屏排版、字体设置等浏览增强功能;
    7. 功能全:在Html5、ES6上有更完整支持;
    8. 更强大:集成强大的视频播放器,支持视频格式远多于系统webview;
    9. 视频和文件格式的支持x5内核多于系统内核
    10. 防劫持是x5内核的一大亮点

    2.如何集成TBS 腾讯浏览服务?

    官网: https://x5.tencent.com
    反馈:https://x5.tencent.com/tbs/feedback.html

    2.1 下载SDK

    SDK 下载地址: https://x5.tencent.com/tbs/sdk.html
    在这里插入图片描述

    2.2 将SDK中的Lib 添加到项目中

    • 切换到Project 视图我们才能看到Libs 文件夹
      在这里插入图片描述
    • 下载SDK压缩包Libs 文件夹下的Jar 复制到libs 文件夹下
      在这里插入图片描述
    • 选中项目右键,Open Module Settings
      在这里插入图片描述
    • 为项目添加刚才引入的依赖
      在这里插入图片描述
    • 然后选择刚才的jar
      在这里插入图片描述
    • 选好后如下所示:
      在这里插入图片描述

    2.3 添加*.so 库

    值得注意的是,我们还是切换到project视图,在src/main 目录下创建
    jniLibs 文件夹

    复制 \TBSSDK_43646_1557142332012\TBSSDK_43646\SDK接入示例-Android Studio\SDK接入示例-AndroidStudio\X5WebDemo\src\main\jniLibs\armeabi\liblbs.so
    到这四个文件夹下.
    在这里插入图片描述
    修改module/build.gradle 配置文件如下:

    android {
        compileSdkVersion 28
        buildToolsVersion "29.0.0"
        defaultConfig {
            applicationId "com.xingyun.smartx5webviewsample"
            minSdkVersion 16
            targetSdkVersion 28
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
            // Specifies the ABI configurations of your native
            // libraries Gradle should build and package with your APK.
            ndk {
                abiFilters "armeabi", "x86",'x64','x86_64'
            }
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            }
        }
    }
    

    值得注意的是:
    abiFilters “armeabi”, “x86”,‘x64’,‘x86_64’
    对应的是四个文件夹如下:
    在这里插入图片描述

    • 除非我们在build.gradle 中添加了: jniLibs.srcDir:customerDir
    • 否则 Android Studio 默认加载so 目录为:src/main/jniLibs
    • 如果没有这四个文件夹,则会报错崩溃,启动不了,安装不上apk.
    • so加载目录请只保留armeabi或者armeabi-v7a

    这四个东西是什么呢?
    创建模拟器的时候我们可以看到
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2.4 AndroidManifest.xml里加入权限声明

    <!-- 请求网络权限 -->
        <uses-permission android:name="android.permission.INTERNET" />
        <!-- 读存储权限 -->
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
        <!-- 写存储权限 -->
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <!-- 网络状态权限 -->
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <!-- WIFI 状态权限 -->
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
        <!-- 手机状态权限 -->
        <uses-permission android:name="android.permission.READ_PHONE_STATE" />
        <!-- 读取设置权限 -->
        <uses-permission android:name="android.permission.READ_SETTINGS" />
    

    2.5 初始化X5 浏览器内核

    2.5.1 AndroidManifest.xml里添加自定义的Application类

         <application
            android:name=".MyApplication"
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:windowSoftInputMode="stateHidden|adjustResize"
            android:usesCleartextTraffic="true"
            android:theme="@style/AppTheme">
            <activity android:name=".MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    

    注意:
    这里要添加的是name 属性,值为我们自定义的应用程序类
    android:name=".MyApplication"
    避免输入法界面弹出后遮挡输入光标的问题
    android:windowSoftInputMode="stateHidden|adjustResize"
    Android 新版本默认不支持Http 请求,需要支持Http请求需要添加:
    android:usesCleartextTraffic="true"

    2.5.2 自定义应用程序类中初始化X5 内核

    import android.app.Application;
    import android.util.Log;
    
    import com.tencent.smtt.sdk.QbSdk;
    
    public class MyApplication extends Application {
    
        @Override
        public void onCreate() {
            super.onCreate();
    
            //初始化X5 浏览器内核
            initX5WebViewCore();
        }
    
        private void initX5WebViewCore() {
            //搜集本地tbs内核信息并上报服务器,服务器返回结果决定使用哪个内核。
            QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() {
    
                @Override
                public void onViewInitFinished(boolean arg0) {
                    // TODO Auto-generated method stub
                    //x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。
                    Log.d("swallow", " onViewInitFinished is " + arg0);
                }
    
                @Override
                public void onCoreInitFinished() {
                    // TODO Auto-generated method stub
                    Log.d("swallow", " onCoreInitFinished");
                }
            };
            //x5内核初始化接口
            QbSdk.initX5Environment(getApplicationContext(),  cb);
        }
    }
    

    2.6 重写自定义X5WebView

    我们实际开发中一般不直接使用X5WebView 而是继承它自定义一个.

    值得注意的是,我们继承的WebView 并不是Android 自带的WebView,
    而是com.tencent.smtt.sdk.WebView 包下的WebView.

    package com.xingyun.smartx5webviewsample.custom;
    
    import android.annotation.SuppressLint;
    import android.content.Context;
    import android.graphics.Canvas;
    import android.util.AttributeSet;
    import android.view.View;
    import android.widget.TextView;
    
    import com.tencent.smtt.sdk.WebSettings;
    import com.tencent.smtt.sdk.WebSettings.LayoutAlgorithm;
    import com.tencent.smtt.sdk.WebView;
    
    public class X5WebView extends WebView {
    	TextView title;
    
    	@SuppressLint("SetJavaScriptEnabled")
    	public X5WebView(Context arg0, AttributeSet arg1) {
    		super(arg0, arg1);
    //		 this.setWebChromeClient(chromeClient);
    //		 WebStorage webStorage = WebStorage.getInstance();
    		initWebViewSettings();
    		this.getView().setClickable(true);
    	}
    
    	@SuppressLint("SetJavaScriptEnabled")
    	private void initWebViewSettings() {
    		WebSettings webSetting = this.getSettings();
    
    		webSetting.setJavaScriptEnabled(true);
    		webSetting.setJavaScriptCanOpenWindowsAutomatically(true);
    		webSetting.setAllowFileAccess(true);
    		webSetting.setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS);
    		webSetting.setSupportZoom(true);
    		webSetting.setBuiltInZoomControls(true);
    		webSetting.setUseWideViewPort(true);
    		webSetting.setSupportMultipleWindows(true);
    		// webSetting.setLoadWithOverviewMode(true);
    		webSetting.setAppCacheEnabled(true);
    		// webSetting.setDatabaseEnabled(true);
    		webSetting.setDomStorageEnabled(true);
    		webSetting.setGeolocationEnabled(true);
    		webSetting.setAppCacheMaxSize(Long.MAX_VALUE);
    		// webSetting.setPageCacheCapacity(IX5WebSettings.DEFAULT_CACHE_CAPACITY);
    		webSetting.setPluginState(WebSettings.PluginState.ON_DEMAND);
    		// webSetting.setRenderPriority(WebSettings.RenderPriority.HIGH);
    		webSetting.setCacheMode(WebSettings.LOAD_NO_CACHE);
    
    		// this.getSettingsExtension().setPageCacheCapacity(IX5WebSettings.DEFAULT_CACHE_CAPACITY);//extension
    		// settings 的设计
    	}
    
    	@Override
    	protected boolean drawChild(Canvas canvas, View child, long drawingTime) {
    		boolean ret = super.drawChild(canvas, child, drawingTime);
    		return ret;
    	}
    
    	public X5WebView(Context arg0) {
    		super(arg0);
    		setBackgroundColor(85621);
    	}
    }
    
    

    2.7 修改界面

    activity_main.xml 如下:

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
    
        <com.xingyun.smartx5webviewsample.custom.X5WebView
            android:id="@+id/myX5WebView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    
    </android.support.constraint.ConstraintLayout>
    

    注意: 这里的X5WebView 就是我们刚自定义的WebView

    2.8 添加视图绑定框架依赖

    app/build.gradle

    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:28.0.0'
        implementation 'com.android.support.constraint:constraint-layout:2.0.0-beta1'
        testImplementation 'junit:junit:4.13-beta-3'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    
        /** X5 WebView */
        implementation files('libs\\tbs_sdk_thirdapp_v3.6.0.1310_43612.jar')
    
        /** UI View 绑定框架**/
        implementation 'com.jakewharton:butterknife:8.8.1'
        annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
    }
    

    2.9 主活动中调用

    import android.graphics.Bitmap;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.util.Log;
    import android.view.View;
    
    import com.tencent.smtt.export.external.interfaces.SslError;
    import com.tencent.smtt.export.external.interfaces.SslErrorHandler;
    import com.tencent.smtt.sdk.WebView;
    import com.tencent.smtt.sdk.WebViewClient;
    import com.xingyun.smartx5webviewsample.custom.X5WebView;
    
    import butterknife.BindView;
    import butterknife.ButterKnife;
    
    public class MainActivity extends AppCompatActivity {
    
        @BindView(R.id.myX5WebView)
        X5WebView myX5WebView;
    
        private static final String BASE_URL="http://www.baidu.com";
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            ButterKnife.bind(this);
    
            myX5WebView.clearCache(true);
            myX5WebView.clearHistory();
            myX5WebView.setWebViewClient(new WebViewClient(){
                @Override
                public boolean shouldOverrideUrlLoading(WebView webView, String url) {
                    Log.d("swallow","shouldOverrideUrlLoading------>"+url);
                    if(url.startsWith("http://")||url.startsWith("https://")){
                        webView.loadUrl(url);
                        return true;
                    }else{
                        return false;
                    }
                }
    
                @Override
                public void onPageStarted(WebView webView, String s, Bitmap bitmap) {
                    Log.d("swallow","onPageStarted------->"+s);
                    super.onPageStarted(webView, s, bitmap);
                }
    
    
                @Override
                public void onPageFinished(WebView webView, String s) {
                    super.onPageFinished(webView, s);
                    Log.d("swallow","onPageFinished------->"+s);
                    webView.setLayerType(View.LAYER_TYPE_HARDWARE,null);
                }
    
                @Override
                public void onReceivedSslError(WebView webView, SslErrorHandler sslErrorHandler, SslError sslError) {
                    sslErrorHandler.proceed();
                }
            });
            myX5WebView.loadUrl(BASE_URL);
        }
    }
    

    2.10 启动程序

    启动程序如下所示:
    在这里插入图片描述

    本文源码下载
    本文主要TBS 浏览服务的浏览功能
    更多其他能力,请参考官方文档
    TBS 接入文档 https://x5.tencent.com/tbs/guide/sdkInit.html

    展开全文
  • java增加csdn博客浏览

    万次阅读 2019-04-11 15:45:24
    最近入手了一个树莓派,在上面部署了一个博客后想不到干些其他的,看到自己csdn的博客的浏览量少到可怜,所以暗戳戳的写了一个小爬虫来给自己博客刷刷浏览量,算是个小玩具。 准备步骤 1.搭建一个ip代理池 2.使用...

    最近入手了一个树莓派,在上面部署了一个博客后想不到干些其他的,看到自己csdn的博客的浏览量少到可怜,所以暗戳戳的写了一个小爬虫来给自己博客刷刷浏览量,算是个小玩具。

    准备步骤
    1.搭建一个ip代理池
    2.使用代理ip对文章进行访问

    第一步:搭建ip代理池
    我使用的是async-proxy-pool,一个用python3写的代理池,使用redis进行存储ip,检测程序间隔时间检测ip可用性,在我使用这段时间看来,还是非常的不错的,原理是对以下的代理ip网站的免费代理页面进行爬取,存入
    66ip 代理:http://www.66ip.cn
    快代理:https://www.kuaidaili.com
    云代理:http://www.ip3366.net
    无忧代理:http://www.data5u.com/
    ip 海代理:http://www.iphai.com
    360 代理:http://www.swei360.com
    如果要自己写ip代理池,记住一定要将添加Host
    需要注意的是,这个项目不支持windows下部署,如果需要搭建此ip代理池,可以在虚拟机中安装一个linux(如ubuntu)来进行使用。
    如果你是windows,但不想折腾虚拟机,也可以使用我之前爬http://ip.zdaye.com/dayProxy.html的ip爬虫

    #!/usr/bin/env python
    import requests
    from bs4 import BeautifulSoup
    import time
    import IpProxyPool.mysql as db
    import re
    headers = {
            'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'
            , 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8'
            , 'Host': 'ip.zdaye.com'
            ,'Cache-Control':'max-age=0'}
    def getAgent(url:str,referer:str):
        headers['Referer']=referer
        url='http://ip.zdaye.com'+url
        print(url,headers)
        #http://ip.zdaye.com/dayProxy/ip/297535.html
        t_html = requests.get(url, headers=headers)
        t_html.encoding = 'gb2312'
        ip_list = list()
        soup = BeautifulSoup(t_html.text, "lxml")
        div = soup.find_all('div')
        reg = re.compile('\\d{1,3}.\\d{1,3}.\\d{1,3}.\\d{1,3}:\\d{1,6}')
        for dd in div:
            dd_arr = dd.get('class')
            if isinstance(dd_arr, list) and dd_arr[0] == 'cont':
                ips = str(dd.text).split("@")
                for ip in ips:
                    if reg.search(ip) and len(ip) > 9:
                        ip_list.append(reg.search(ip).group())
        #db.insertIp(ip_list)#这里是插入数据库需要自己重写方法 也可存入文件
        time.sleep(10)
    def getAddress(end:int):
        #ips = list()
        url = 'http://ip.zdaye.com/dayProxy.html'
        for page in range(1,end):
            if page==1:
                u=url
            else:
                u=url.replace('.html','/'+str(page)+'.html')
            print(u)
            t_html = requests.get(u, headers=headers)
            t_html.encoding = 'gb2312'
            document=BeautifulSoup(t_html.text,"lxml")
            div=document.find_all('div')
            for div_item in div:
                div_arr=div_item.get('class')
                # print(type(div_arr),div_arr)
                if isinstance(div_arr,list) and div_arr[0]=='title':
                    #ips.append(div_item.find_all('a')[0].get('href'))
                    getAgent(div_item.find_all('a')[0].get('href'),u)
                    time.sleep(10)
    if __name__ == '__main__':
        print('开始运行.')
        while True:
            if db.getIpCount()==0:
                getAddress(11)#第一次运行
            else:#第二次运行
                getAddress(2)
            time.sleep(60*2*60)
    

    第二步:使用代理ip进行访问
    注意:在本人浏览器测试下,每个ip只有前两次访问才增加浏览量,可能是我间隔时间太短,但是为了防止ip被封和节约时间,最好使用代理ip进行访问。
    获取代理ip
    依赖jsonp 带有代理ip版本的jsonp百度一下就有

    package shuapiao;
    
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    
    import Util.DBUtil;
    
    import java.io.*;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLConnection;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    /**
     * 获取代理IP,需要
     * com.alibaba.fastjson.JSONObject以及Jsoup
     */
    public class ProxyCralwerUnusedVPN {
    
    	public static String getIp() {
    		String ip=getProxy();
    		String ipStr = null;
    		Pattern pattern=Pattern.compile("\\d{1,3}.\\d{1,3}.\\d{1,3}.\\d{1,3}:\\d{1,5}");
    		//去除无用的字符串提取ip:端口
    		Matcher matcher=pattern.matcher(ip);
    		if(matcher.find()) {
    			ipStr=matcher.group();
    		}
    		return ipStr;
    	}
        /**
         * 用来获取代理ip
         * @return ip
         */
    	private static String getProxy() {
    		StringBuffer stringBuffer=new StringBuffer();
    		try {
    			URL url=new URL("这里填入你搭建的代理池的获取ip的接口地址");
    			URLConnection connection=url.openConnection();
    			InputStreamReader isReader=new InputStreamReader(connection.getInputStream(),"utf8");
    			BufferedReader bReader=new BufferedReader(isReader);
    			String date=null;
    			while((date=bReader.readLine())!=null) {
    				stringBuffer.append(date);
    //				System.out.println(date);
    			}
    			bReader.close();
    		} catch (IOException e) {
    			e.printStackTrace();
    		} 
    		return stringBuffer.toString();
    	}
    
        /**
         * 判断ip和端口是否有效
         *
         * @param ip
         * @param port
         * @return
         */
        private static boolean checkProxy(String ip, Integer port) {
            try {
            	//如果需要添加头部
                //http://1212.ip138.com/ic.asp 可以换成任何比较快的网页
                Jsoup.connect("如果需要使用验证 填入一个比较快的网站")
                        .timeout(2 * 1000)
                        .proxy(ip, port, null)
                        //.header("属性", "值")
                        .get();
                return true;
            } catch (Exception e) {
                return false;
            }
        }
    }
    
    

    刷浏览量类
    需要在同级目录下新建local.txt一行一个url
    导出jar后在jar所在目录新建即可

    package shuapiao;
    
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    public class Crawl extends Thread {
    	public static void main(String[] args) throws InterruptedException {
    		File file = new File("local.txt");
    		if (!file.exists()) {
    			try {
    				file.createNewFile();
    			} catch (IOException e) {
    				System.out.println(file.getAbsolutePath() + "不存在!现已经创建");
    				System.exit(0);
    			}
    		} else {
    			try {
    				FileInputStream fis = new FileInputStream(file);
    				BufferedReader bf = new BufferedReader(new InputStreamReader(fis, "utf-8"));
    				String url=null;
    				int num=1;
    				while((url=bf.readLine())!=null) {
    					new Shua(url, num).start();
    					System.out.println("第"+num+"线程启动:"+url);
    					num++;
    				}
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    				System.exit(0);
    			}
    		}
    //		new Shua("jjj.com", 1).start();
    	}
    
    	static class Shua extends Thread {
    		private String url;
    		private int num;
    		public Shua(String url,int num) {
    			this.url=url;
    			this.num=num;
    		}
    		public void run() {
    			if (url == null)
    				return;
    			Document document = null;
    			int ok = 0;
    			while (true) {
    				String dl = ProxyCralwerUnusedVPN.getIp();
    				if (dl == null) {
    					try {
    						System.out.println(num+"线程为获取到代理进入休眠1小时");
    						Thread.sleep(60*1*60*1000);
    						//因为我树莓派使用的校园网需要认证网络 所以当不注意时候给它休眠
    						//也可以删除
    					} catch (InterruptedException e) {
    						System.out.println(num+"线程退出.");
    						return;
    					}
    					continue;
    				}
    				try {
    					String arr[] = dl.split(":");
    					String ip = arr[0];
    					int port = Integer.parseInt(arr[1]);
    //					System.out.println(ip + ":" + port);
    					document = Jsoup.connect(url)
    							.header("Accept",
    									"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8")
    							.header("Accept-Encoding", "gzip, deflate, br")
    							.header("Accept-Language", "zh-CN,zh;q=0.8,en;q=0.6").header("Cache-Control", "max-age=0")
    							.header("User-Agent",
    									"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36")
    							.proxy(ip, port, null).timeout(5 * 1000).get();
    					ok++;
    					System.out.println(num+":浏览数增加:" + ok);
    					Thread.sleep(10 * 1000);
    //				break;
    				} catch (Exception e) {
    					
    				}
    			}
    		}
    	}
    }
    
    

    附上最近刷的浏览量

    第1线程启动:https://blog.csdn.net/gjy11223344/article/details/88928316
    1:浏览数增加:1
    1:浏览数增加:2
    1:浏览数增加:3
    1:浏览数增加:4
    1:浏览数增加:5
    1:浏览数增加:6
    1:浏览数增加:7
    1:浏览数增加:8
    1:浏览数增加:9
    1:浏览数增加:10
    1:浏览数增加:11
    1:浏览数增加:12
    1:浏览数增加:13
    1:浏览数增加:14
    1:浏览数增加:15
    

    在这里插入图片描述

    展开全文
  • wpf实现的简单文件夹浏览应用程序

    千次下载 热门讨论 2014-09-04 12:45:46
    wpf实现的简单文件夹浏览应用程序
  • 详解谷歌浏览器 performance 选项卡

    万次阅读 多人点赞 2020-01-16 16:12:41
    本文要点:详细介绍谷歌浏览器 performance 选项卡的各个要素,让你知道如何查看网页性能。

    详解谷歌浏览器 performance 选项卡

    本文要点

    详细介绍谷歌浏览器 performance 选项卡的各个指标,让你知道如何查看网页性能。

    谷歌浏览器版本为:79.0.3945.117(正式版本) (64 位)。

    性能分析操作流程

    1. 在谷歌浏览器调式模式下,切换到 performance 选项卡。点击刷新图标(或者Ctrl+Shift+E快捷键)。
      在这里插入图片描述
    2. 出现如下网页分析进度条。
      在这里插入图片描述
    3. 自动停止后,会出现性能分析图。

    注意点1:需要勾选屏幕快照选项,才会出现如下屏幕快照截图(一般是默认勾选)。
    在这里插入图片描述
    注意点2:整个分析图出现的时间轴就是前面步骤中分析进度条的时间,而默认出现的区域时间轴是首屏加载时间。
    在这里插入图片描述
    如图所示:
    (1)以上红色框出的部分(也是整个时间轴)就是前面分析进度条的分析时间。
    (2)以上绿色框出的部分是首屏加载时间。
    (3)首屏加载时间刻度与选项卡 Summary 的 Total 总时间一致。
    (4)如下图可通过左右边界来调整时间轴区域。时间轴区域 2 是 时间轴区域 1 的放大版,便于查看时间轴区间的各项指标性能情况。
    在这里插入图片描述

    性能分析图详解

    如下所示,把整张分析图划分成 3 个区域。
    在这里插入图片描述
    区域1:网页性能总览图
    总览图包含 FPS(每秒帧数情况)、CPU(CPU占用情况)、NET(网络资源情况)、HEAP(JS占用情况)一共四项指标。

    FPS:全称 Frames Per Second,表示每秒传输帧数,是速度单位,用来分析动画的一个主要性能指标。1fps = 0.304 meter/sec(米/秒)。如下图所示,绿色竖线越高,FPS 越高。 红色表示长时间帧,可能出现卡顿。

    如果能够达到 >=60fps(帧)/s 的刷新频率,就可以避免出现卡顿。
    尽量保证页面要有高于每秒60fps(帧)的刷新频率,这与大多数显示器的刷新率相吻合(60Hz)。如果网页动画能够做到每秒60帧,就会跟显示器同步刷新,达到最佳的视觉效果。

    这意味着,一秒之内进行 60 次重新渲染,每次重新渲染的时间不能超过1/60=0.01666s(秒);0.01666s*1000=16.66ms(毫秒)。

    不同帧的体验:
    帧率能够达到 50 ~ 60 FPS 的动画将会相当流畅,让人倍感舒适;
    帧率在 30 ~ 50 FPS 之间的动画,因各人敏感程度不同,舒适度因人而异;
    帧率在 30 FPS 以下的动画,让人感觉到明显的卡顿和不适感;
    帧率波动很大的动画,亦会使人感觉到卡顿。
    在这里插入图片描述
    CPU:CPU 资源。此面积图指示消耗 CPU 资源的事件类型。
    下图中颜色分别为(与数据统计中的颜色数据表示一致):
    蓝色(Loading):表示网络通信和 HTML 解析时间。
    黄色(Scripting):表示 JavaScript 执行时间。
    紫色(Rendering):表示样式计算和布局(重排)时间。
    绿色(Painting):表示重绘时间。
    灰色(other):表示其它事件花费的时间。
    白色(Idle):表示空闲时间。
    在这里插入图片描述
    NET:每条彩色横杠表示一种资源。横杠越长,检索资源所需的时间越长。 每个横杠的浅色部分表示等待时间(从请求资源到第一个字节下载完成的时间)。
    在这里插入图片描述
    HEAP:JavaScrip 执行的时间分布。
    在这里插入图片描述
    区域2:各项指标的区块图
    在这里插入图片描述

    1. Network:表示每个服务器资源的加载情况。

    2. Frames:表示每幅帧的运行情况。

    3. Timings:上图中有 4 条虚线,分别表示如下。
      (1)DCL(DOMContentLoaded)表示 HTML 文档加载完成事件。当初始 HTML 文档完全加载并解析之后触发,无需等待样式、图片、子 frame 结束。作为明显的对比,load 事件是当个页面完全被加载时才触发。
      (2)FP(First Paint)首屏绘制,页面刚开始渲染的时间。
      (3)FCP(First Contentful Paint)首屏内容绘制,首次绘制任何文本,图像,非空白canvas 或 SVG 的时间点。
      (4)FMP(First Meaningful Paint)首屏有意义的内容绘制,这个“有意义”没有权威的规定,本质上是通过一种算法来猜测某个时间点可能是 FMP。有的理解为是最大元素绘制的时间,即同LCP(Largest Contentful Paint )。
      其中 FP、FCP、FMP 是同一条虚线,三者时间不一致。比如首次渲染过后,有可能出现 JS 阻塞,这种情况下 FCP 就会大于 FP。
      (5)L(Onload)页面所有资源加载完成事件。
      (6)LCP(Largest Contentful Paint )最大内容绘制,页面上尺寸最大的元素绘制时间。

    4. Main:表示主线程。
      合成线程主要负责:
      Javascript 的计算与执行;
      CSS 样式计算;
      Layout 布局计算;
      将页面元素绘制成位图(paint),也就是光栅化(Raster);
      将位图给合成线程。

    5. Raster:光栅化(处理光栅图,即位图)。

    6. GPU:表示 GPU 占用情况。

    7. Chrome_childIOThread:子线程。

    8. Compositor:合成线程。
      合成线程主要负责:
      将位图(GraphicsLayer 层)以纹理(texture)的形式上传给 GPU;
      计算页面的可见部分和即将可见部分(滚动);
      CSS 动画处理;
      通知 GPU 绘制位图到屏幕上。

    JS Heap:表示 JS 占用的内存大小。
    Documents:表示文档数。
    Nodes:表示 Node 节点数。
    Listeners:表示监听数。
    GPU Memory:表示 GPU 占用数。
    下面的 4 条折线图是以上 4 个指标(没有 GPU 消耗)对应的时间消耗的内存大小与节点数量。若将某项指标前面的勾选去掉则不会出现对应的折线。
    注意这个折线图只有在点击 Main 主线程的时候才会有,选择其他的指标时折线图区域时空白。

    区域3:数据统计与汇总
    在这里插入图片描述
    Summary:表示各指标时间占用统计报表;
    Bottom-Up:表示事件时长排序列表(倒序);
    Call tree:表示事件调用顺序列表;
    Event Log:表示事件发生的顺序列表;

    Loading 事件

    内容说明
    Parse HTML浏览器解析 HTML
    Finish Loading网络请求完成
    Receive Data请求的响应数据到达事件,如果响应数据很大(拆包),可能会多次触发该事件
    Receive Response响应头报文到达时触发
    Send Request发送网络请求时触发

    Scripting 事件

    内容说明
    Animation Frame Fired一个定义好的动画帧发生并开始回调处理时触发
    Cancel Animation Frame取消一个动画帧时触发
    GC Event垃圾回收时触发
    DOMContentLoaded当页面中的DOM内容加载并解析完毕时触发
    Evaluate ScriptA script was evaluated.
    EventJS 事件
    Function Call浏览器进入 JS 引擎时触发
    Install Timer创建计时器(调用setTimeout()和setInterval())时触发
    Request Animation FrameA requestAnimationFrame() call scheduled a new frame
    Remove Timer清除计时器触发
    Time调用 console.time() 触发
    Time End调用 console.timeEnd() 触发
    Timer Fired定时器激活回调后触发
    XHR Ready State Change当一个异步请求为就绪状态后触发
    XHR Load当一个异步请求完成加载后触发

    Rendering 事件

    内容说明
    Invalidate layout当 DOM 更改导致页面布局失效时触发
    Layout页面布局计算执行时触发
    Recalculate styleChrome 重新计算元素样式时触发
    Scroll内嵌的视窗滚动时触发

    Painting事件

    内容说明
    Composite LayersChrome 的渲染引擎完成图片层合并时触发
    Image Decode一个图片资源完成解码后触发
    Image Resize一个图片被修改尺寸后触发
    Paint合并后的层被绘制到对应显示区域后触发

    后记

    在我的博文 详解网页性能参数 performance API 中介绍了 performance API 的各项参数。本文介绍谷歌浏览器 performance 选项卡的使用。可能会有读者疑惑,两者有何区别?

    详解网页性能参数 performance API 一文主要介绍网页性能 API。你可以在你的 js 脚本中获取到这些参数,来做性能监控,参数判断等。
    比如你可以在谷歌浏览器中打开任意网页,进入调式模式,在 Console 选项卡中输入 performance,得到如下参数。 在这里插入图片描述
    而本文主要介绍如何使用谷歌浏览器性能查看工具 performance 选项卡。读者可两篇文章一起看,加深对网页性能参数的了解。

    展开全文
  • Android实现3D图片浏览效果示例

    热门讨论 2015-08-28 16:01:45
    本示例实现了Android 3D图片浏览效果,具体实现细节请参见博文:http://blog.csdn.net/l1028386804/article/details/48052709
  • 我们会注意到谷歌浏览器(以下简称Chrome)和其他一些软件既不允许用户选择安装路径,也没有安装到Program Files目录下,而是在C:\Users\[当前用户名]\AppData\Local路径下创建了专用的文件夹。要理解这些软件为什么...

    久病成名医。在经历了电脑最近的备份崩溃恢复后,我对朝夕相处的Windows又多了几分了解。Windows 7是Windows XP之后微软最成功的操作系统,也是之后Windows 8和10的基础,因此本文介绍的内容都以Windows 7为环境。

    Windows用户最熟悉的程序安装路径是C盘下的Program Files。在64位操作系统下,多出来了一个区分32位程序的Program Files (x86) 文件夹。许多用户为了防止操作系统重装时程序丢失,将软件都安装在d盘或其他硬盘分区中。无需安装的硬盘版(绿色)和程序员普遍使用的虚拟机加编译或源代码形式的工具,则直接保存在下载文件夹或同一个硬盘的其他目录下。以上大概就是普通Windows用户安装程序的几种情况。

    新的软件打破了惯例。我们会注意到谷歌浏览器(以下简称Chrome)和其他一些软件既不允许用户选择安装路径,也没有安装到Program Files目录下,而是在C:\Users\[当前用户名]\AppData\Local路径下创建了专用的文件夹。要理解这些软件为什么被设计成如此行为,必须理解Windows中上述文件夹的作用。

    首先AppData与下面提到的ProgramData都是隐藏的文件夹,要通过下列操作才能看到:

    1. 打开文件管理器(即开始菜单中选择计算机),在工具栏的“组织”下拉列表中,单击“文件夹和搜索选项”,显示文件夹选项对话框。
    2. 选中“查看”选项卡。
    3. 在高级设置的“隐藏文件和文件夹”条目下,选择“显示隐藏的文件文件夹和驱动器”。确定并关闭文件夹选项对话框。

    ProgramData与AppData文件夹的含义与区别

    这时在C盘下将能看到与Program Files并列的ProgramData文件夹。顾名思义,ProgramData文件夹就是用来保存各个程序的数据的,如配置、缓存和临时文件,其下建立了对应各个程序的子文件夹。

    C盘下还有一个Users文件夹,当前计算机的所有账号都有一个同名的子文件夹于其中,此外还有名为Public和Guest这两个对应特殊账号的文件夹,这些文件夹中存放的是对应账号的环境和配置信息。每个账号的文件夹下,有一个名为AppData的隐藏子文件夹,其中存放的也是各个程序的数据,它与ProgramData的区别在于,ProgramData保存的是与账号无关的数据,也就是对一个程序的所有用户都相同的数据,例如一个画图软件的帮助文件;AppData保存的是特定于某个账号的数据,例如各个用户所画的图片文件。

    Local、Locallow和Roaming文件夹的含义与区别

    在AppData文件夹下,又存在Local、Locallow和Roaming三个子文件夹,它们是为企业、组织等多计算机多用户的环境而设置的。在这样的环境中,多个用户可能共享一台计算机,一名用户能够使用不同的计算机,用户登录的不是单台计算机,而是多台计算机组成的域。当一名用户使用不同的计算机时,他希望计算机看起来是一样的、使用习惯是一致的,这就要求前面所说的某个账号的环境和配置信息能够在计算机之间漫游(Roam)。Windows的做法是,用户登录到域服务器时,服务器将他的账号信息传输到他所用的计算机,保存在Roaming文件夹内;等到用户登出时,有可能更改过的Roaming文件夹内最新的账号信息又被上传回服务器。与之对应,Local文件夹内保存的则是仅仅存放于本机的账号信息,这些信息不必漫游,或者由于体积太大,不方便漫游,如浏览器的缓存。Locallow用于保存低级别的本机账号数据,现已很少使用。

    对于家庭使用的个人计算机,不存在漫游的需要和可能性,账号信息基本上都保存在Local文件夹内。

    Chrome为什么要安装在C:\Users\[当前用户名]\AppData\Local\Google\Chrome路径下?

    既然一台计算机允许有多个账号访问,就存在账号权限的问题。上面提到Users路径下各个文件夹保存的是对应账号的数据。不同的账号不仅需要有分隔的位置以存放其数据,还必须控制数据的访问权限——每个账号只有权访问自己的数据。表现在Windows的存取控制列表上,就是每个账号的文件夹只有该账号和管理员、系统等特殊账号有权访问。再来看Program Files文件夹,管理员和系统等账号对该文件夹及其中的内容有完全权限,即可以读、写、修改、删除、列出文件夹内容、运行程序等等;普通账号只能读、列出文件夹内容和运行程序。换言之,只有管理员的特殊账号能够将程序安装于该文件夹内,普通账号可以使用这些程序,但不能安装、修改或删除。

    在家用电脑上,我们都是以管理员账号登录,在很多情况下管理员甚至是唯一的个人身份账号,并且无需输入密码就登录。因此我们意识不到多账号和权限的问题,在Program Files或任何其他文件夹下安装、修改和删除程序都被视为理所当然。

    在多用户通过不同账号访问一台计算机的环境中,权限的问题就会浮现出来。首先是普通账号没有权限在Program Files文件夹中安装程序。其次是即使管理员在该文件夹中安装好了供大家使用的程序,普通账号也无法进行更新。而我们知道Chrome是一款更新频繁的浏览器,为了确保任何账号使用计算机时都有权安装和更新、每个账号的浏览器都对其他账号透明从而免去浏览时的疑问和维护时的冲突,Google便强制将Chrome的程序和数据一道安装在C:\Users\[当前用户名]\AppData\Local\Google\Chrome路径下。因为AppData文件夹的本意是保存特定于某个账号的数据而非程序,才使得这一做法看上去有些奇怪。假如Users文件夹本来就被设计成不仅保存数据,也用于存放属于不同账号的程序,Chrome的做法就显得正常了。

    展开全文
  • 我们通过离线安装谷歌浏览器后,第一次打开浏览器时会默认下载最新版本,等到我们重启浏览器后它会自动更新。在项目中为了能固定浏览器版本,所以要禁止谷歌浏览器的更新,网上找了好多方法都没用,自己摸索出来了...
  • 谷歌浏览器网盘倍速播放

    千次阅读 2019-06-07 13:55:55
    通过谷歌浏览器进入百度网盘播放视频时,摁F12进入控制台 在console下输入videojs.getPlayers(“video-player”).html5player.tech_.setPlaybackRate(1.5),即可实现倍速播放 ...
  • 【Windows】谷歌浏览器独立多开

    千次阅读 2021-04-28 07:13:17
    bat命令中的start,相对来说会容易很多,接下来将会细谈关于谷歌浏览器多开的参数问题 基本语法 start [窗口标题] [/min最小化] [/max最大化] 程序路径 相关参数 1、窗口标题:我们启动过程是通过cmd调起的,所以...
  • 易语言超文本浏览框支持库升级(3.1#51版)

    千次下载 热门讨论 2011-11-17 11:36:17
    3.0#51升级说明[2011/11/16]== 1.出于安全考虑,设计时不打开任何网址 2.增加命令:取网页文档对象 (对象 文档对象) 3.1#51升级说明[2011/11/17]== 1.修正3.0版静态编译后文件无法打开的错误 2.增加命令:取浏览器...
  • 谷歌浏览器打开阅读清单

    千次阅读 2021-03-20 13:33:42
    1、打开谷歌浏览器,在网址栏中输入chrome://flags 2、在搜索框中输入read-later 3、将右侧的Default改为Enabled,点击右下角的relaunch,重启浏览器后即可使用阅读清单功能。
  • PC端的谷歌浏览器受到世界各地众多用户的青睐,其全球市场份额遥遥领先排名第二的firefox。谷歌浏览器之所以深受广大用户的喜爱,不仅因为它简约干净,不像某数字浏览器有那么多杂七杂八的东西;还因为它闪电般的...
  • 银河麒麟Linux系统安装谷歌浏览

    千次阅读 2021-05-12 10:18:59
    sudoapt-getinstallchromium-browser 安装完成后,会看到chromium网页浏览器的图标
  • 有的打开很慢或者一直加载中,而电脑自带的IE和Edge浏览器是可以正常访问的,后面下载了火狐浏览器也可以正常使用,用断网急救箱、重置DNS、LSP修复后问题依然存在。 开始试了 :防火墙设置!问题依然存在; 我就...
  • 谷歌浏览器跨域问题解决方案

    千次阅读 2020-09-09 10:34:03
    谷歌浏览器最近进行了升级,导致一些链接产生了跨域,因此记录下跨域的解决方案 老版本谷歌浏览器(49版本以前) 1、右键点击谷歌浏览器,选择属性 2、在目标输入框尾部加上 --disable-web-security 3、点击...
  • chrome谷歌浏览器使用技巧

    万次阅读 2019-04-24 19:05:42
    有时候我们需要使用别人的电脑,但又不想破坏别人正在浏览的网页,也不想留下自己的浏览信息,这时候新建一个无痕窗口,把 所有问题都解决了。 4. Ctrl+W:关闭当前标签页 5. Ctrl+Shift+T:恢复之前关闭的...
  • 设置谷歌浏览器默认以无痕浏览方式打开的步骤是: 1、右击桌面上的谷歌浏览器图标; 2、然后点击属性; 3、打开的属性对话框中点击快捷方式; 4、在目标框中的内容后面按一个空格后再输入--incognito 5、然后点击...
  • 谷歌浏览器无法登陆问题

    万次阅读 热门讨论 2020-08-11 11:02:00
    然后在谷歌浏览器打开扩展程序界面,如下: 点击浏览器页面右上角的三个点,选择设置进入 然后点击左边的扩展程序打开界面 进入扩展程序界面后将刚才解压好的文件直接拖拽到界面即可 拖拽成功如下所示: 然后就...
  • 谷歌浏览器滚动条样式: ::-webkit-scrollbar { background: #f7f7f9; width: .08rem; /* 纵向滚动条滑块宽度 */ height: .09rem; /* 横向滚动条滑块宽度 */ } ::-webkit-scrollbar-track-piece { /*滚动条背景...
  • 解决谷歌浏览器被篡改主页问题

    千次阅读 2020-06-20 21:14:16
    博主自己这些天陆续重装了几台电脑,在安装谷歌浏览器的时候,基本都会遇到谷歌浏览器主页被篡改的问题,万恶的软件商就是要找我们做小白鼠做他们的流量拉数据。 这里我总结一下我的解决谷歌浏览器主页被篡改问题的...
  • 首先下载离线安装包 https://download.csdn.net/download/xwm1000/14937595 地址栏输入: chrome://extensions/ 将crx文件拖入到浏览器 修改配置,地址栏输入chrome://flags/#enable-nacl ......
  • kali安装火狐浏览

    万次阅读 2020-09-11 09:39:38
    kali安装火狐浏览器 下载中国版火狐 https://dl-sh-ctc-2.pchome.net/0f/56/Firefox-latest-x86_64.tar.bz2?key=1ee1a8c0c58e46c85f1dc8211c4665ce&tmp=1565445883959 解压至/usr/local下: tar -jxvf Firefox-...
  • 泛微Ecology8.0浏览框详解

    千次阅读 2019-06-18 09:39:42
    浏览框标签定义 人员 <brow:browser viewType=“0” id=“pName” name=“pName” browserValue="" browserUrl="/systeminfo/BrowserMain.jsp?url=/hrm/resource/ResourceBrowser.jsp?selectedids=" hasInput=...
  • (python)火狐浏览器、谷歌浏览器驱动安装方法Firefox浏览器驱动安装方法Chrome浏览器驱动安装方法 Firefox浏览器驱动安装方法 每个浏览器必须安装一个对应的驱动。 1.下载火狐浏览器然后安装 2.下载最新版本的火狐...
  • 谷歌浏览器打不开是什么原因

    千次阅读 2021-06-11 16:29:16
    谷歌浏览器是一款非常专业的浏览器,界面简洁,搜索速度快,非常受用户的喜欢。但是最近有网友反应说自己打不开谷歌浏览器,导致无法使用,非常影响体验感。那为什么谷歌浏览器打不开呢?可能是浏览器的设置有问题。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,179,063
精华内容 471,625
关键字:

浏览