首页 > 系统相关 >记录一次C#在arm64的Ubuntu下安装使用selenium的过程

记录一次C#在arm64的Ubuntu下安装使用selenium的过程

时间:2023-05-03 14:33:06浏览次数:34  
标签:chromedriver 安装 option C# root selenium ChromeDriver arm64 chromium

手头上有一台没用的安卓手机,想着安装Ubuntu当爬虫服务器用,安卓手机root后使用delopy安装启动Ubuntu系统这些前置过程就不谈了

重点谈怎么在ssh下安装使用selenium的过程

首先我们安装aptitude这个软件包管理库,这个库相对于apt功能,对软件的依赖处理更加优秀,且使用方式和apt一样

sudo apt-get   install aptitude

然后需要安装chromium相关的安装包

sudo aptitude install chromium-browser

紧接着你会看到以下信息

root@localhost:~# sudo aptitude install chromium-browser
The following NEW packages will be installed:
  chromium-browser chromium-browser-l10n{a} chromium-codecs-ffmpeg-extra{a}
The following partially installed packages will be configured:
  chromium-chromedriver
0 packages upgraded, 3 newly installed, 0 to remove and 4 not upgraded.  

安装完毕以后,输入以下命令chromedriver看安装是否正常

root@localhost:~# chromedriver
Starting ChromeDriver 112.0.5615.49 (bd2a7bcb881c11e8cfe3078709382934e3916914-refs/branch-heads/5615@{#936}) on port 9515
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.

当看到ChromeDriver was started successfully.后,表示chromedriver已经成功启动,然后就可以按Ctrl+C关闭命令行了

然后我们打开visual studio新建 .Net 7(.net6或者.net core项目都可以,但不能用fm框架,因为不能跨平台运行在arm64)控制台项目等,这些过程可以省略

然后打开Nuget搜索selenium

 我们安装第一个就可以了

然后我们键入以下代码

private static void Main(string[] args)
        {
            var service = ChromeDriverService.CreateDefaultService();
            var option = new ChromeOptions();
            option.AddArgument("--headless");//不显示窗口
            option.AddArgument("--disable-gpu");//禁用显卡
            option.AddArgument("--no-sandbox");//root权限下运行所以禁用沙盒
            option.AddArgument("--disable-dev-shm-usage");//关闭开发检测,不然会报错
            using (IWebDriver driver = new ChromeDriver(service, option))
            {
                driver.Navigate().GoToUrl("http://www.baidu.com");  //driver.Url = "http://www.baidu.com"是一样的
                var source = driver.PageSource;
                Console.WriteLine(source);
            }
        }

 接下来,我们右键项目,发布,发布到文件夹

.net 7的生成单个文件以及剪接未使用的代码功能相当强大,可以大幅度减少应用大小,当然,如果遇到程序不能运行的情况,也还是需要取消勾选裁剪未使用代码的功能的

然后我们把生成的单个文件传输到ubuntu里面去

使用 chmod +x 给应用提权,紧接着运行就可以了,这里/root/ChromeS是我这边用来测试项目的路径,请自行修改成自己的

chmod +x /root/ChromeS
/root/ChromeS

以上就是全部教程了

标签:chromedriver,安装,option,C#,root,selenium,ChromeDriver,arm64,chromium
From: https://www.cnblogs.com/ACDIV/p/17369007.html

相关文章

  • [ACTF新生赛2020]easyre 1
    下载回来后,有两个文件查那个内存大的就行,上边那个扔着不管就行查壳32位,进IDA,老套路,进主函数int__cdeclmain(intargc,constchar**argv,constchar**envp){_BYTEv4[12];//[esp+12h][ebp-2Eh]BYREF_DWORDv5[3];//[esp+1Eh][ebp-22h]_BYTEv6[5];//......
  • Micro 购买流程,从使用到选型,从购买到售后,全程为您保驾护航
    深圳微元科技Micro系列组件实行统一定价标准,进行明码实价销售。中国市场的价格由产品价格和软件产品增值税组成,我们会为客户提供1%的增值税专用发票。客户享有从购买之日起,免费获取一年内的产品大版本的升级与维护版本。    1.选择产品         依据我们的......
  • 最少硬币支付问题 c的幂次方证明
    假设硬币的面值为\(c^0,c^1,...,c^k\),其中c是一个大于1的整数,k是一个大于等于1的整数。设\(a_i\)是找n分钱的最优解中面值\(c^i\)的硬币的数量,那么对于\(i=0,1,...,k-1\),有\(a_i<c\)。这是因为如果\(a_i>=c\),那么可以用一个面值\(c^{i+1}\)的硬币替换c个面值\(c^i\)的硬币,......
  • 定位apache慢请求神器—mod_log_slow
    apachephp站点负载时不时高负载,但是因为上面的站点太多,太难排查到底是哪个站点引起的。nginxphp-fpm倒是好查,他有一个slowlog,可以快速的定位到出现故障的php代码位置,使用xdebug来查问题太复杂。写mod_log_slow的灵感来源于mysql的slowlog.1.编译安装mod_log_slow1)解......
  • chrome 高cpu占用 性能分析
    VisualStudio性能探查器WindowsPerformanceToolkitPerfView应该只能用于.NET尝试了chrome://tracing/,但是暂时没太看懂里面都是什么意思 搜着搜着发现了一个UIforETW,这个好像是专门用于chrome的EventTracingforWindows(ETW),所以试用了一下msiexec.exe/i"C:\User......
  • dicom to nifti
    frompathlibimportPath#pathlibforeasypathhandlingimportpydicom#pydicomtohandledicomfilesimportmatplotlib.pyplotaspltimportnumpyasnpimportdicom2nifti#toconvertDICOMfilestotheNIftIformatimportnibabelasnib#nibabelto......
  • 从0开始搭建一个微服务项(并注册到nacos)
    本文发布时间:2023-05-03本文旨在分享开始一个微服务项目时结构的搭建过程,只提供一种微服务项目的结构,并不涉及具体的业务逻辑。尚在学习当中,如有不足,请指正!!!项目架构创建模块父工程模块——cloud-parent一个微服务项目最好有一个父工程模块,用来对整个项目的依赖统一管理在......
  • 基于 CentOS Linux release 7.9.2009 的软件开发学习
    了解Linux系统:作为新手程序员,首先要熟悉Linux系统,学习基本的命令行操作,如文件和目录操作、进程管理和权限控制等。选择编程语言:根据你的兴趣和项目需求,选择一种编程语言进行学习。常用的编程语言包括Python、Java、C++、Ruby和PHP等。安装开发工具:为了进行软件开发,你需......
  • 常用Collection接口下集合,Map接口下集合
    Collection接口下集合Map接口下集合阻塞讲解 ......
  • 常用Collection接口下集合,Map接口下集合
    Collection接口下集合Map接口下集合阻塞讲解 ......