NuGet 包管理器 安装 WebDriver

自动登录QQ邮箱

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace WindowsFormsApp3
{public partial class Form1 : Form{public Form1(){InitializeComponent();}ChromeDriver webDriver;private void Form1_Load(object sender, EventArgs e){ChromeOptions options = new ChromeOptions();webDriver =   new ChromeDriver(@"C:\Program Files\Google\Chrome\Application\", options);//Chrome目录WebDriverWait wait = new WebDriverWait(webDriver, TimeSpan.FromSeconds(5));//设置读取超时时间try{wait.Until(contion =>{try{webDriver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(5);//加载页面超时webDriver.Navigate().GoToUrl("https://mail.qq.com");return true;}catch { return false; }});}catch { }try{IWebElement controlPanelFrame = null;IList<IWebElement> frames = webDriver.FindElements(By.TagName("iframe"));foreach (var frame in frames){if (frame.GetAttribute("id") == "login_frame"){controlPanelFrame = frame;break;}}if (controlPanelFrame != null){//var a = webDriver.FindElement(By.XPath("//iframe[starts-with(@id, 'mainFrame')]"));webDriver.SwitchTo().Frame(controlPanelFrame);//选择Frame}webDriver.FindElement(By.XPath("//input[contains(@id, 'u') and contains(@name, 'u')]")).SendKeys("qq号码@qq.com");webDriver.FindElement(By.XPath("//input[contains(@id, 'p') and contains(@name, 'p')]")).SendKeys("密码");string logintxt = webDriver.FindElement(By.XPath("//label[contains(@id, 'uin_tips')]")).GetAttribute("innerHTML");string loginbbbstr = webDriver.FindElement(By.XPath("//a[contains(@class, 'login_button')]")).GetAttribute("href");if (loginbbbstr == "javascript:void(0);" && logintxt== "支持QQ号/邮箱/手机号登录"){webDriver.FindElement(By.XPath("//a[contains(@href, 'javascript:void(0);') and contains(@class, 'login_button')]")).Click();}webDriver.SwitchTo().DefaultContent();//跳出Frame}catch{}}private void Form1_FormClosing(object sender, FormClosingEventArgs e){try{webDriver.Quit();}catch{ }}}
}

CNPM Binaries Mirrorhttps://registry.npmmirror.com/binary.html?path=chromedriver/99.0.4844.51/

var option = new ChromeOptions();
//是否隐藏浏览器,如果注释掉的话,那么会在启动的时候打开谷歌浏览器,在页面上可以看到填单的操作,如果取消的话,就只有cmd窗口,谷歌浏览器隐匿运行
option.AddArgument("headless");
options.AddArgument("--window-position=-32000,-32000");
option.AddArgument("window-size=1920,1080");

这个是题外话,需要的可以设置下,就是让谷歌浏览器不弹出来,隐匿运行

//设置cmd窗口不弹出来
ChromeDriverService service = ChromeDriverService.CreateDefaultService(System.AppDomain.CurrentDomain.BaseDirectory.ToString());
// ChromeDriverService service = ChromeDriverService.CreateDefaultService(@"C:\Program Files\Google\Chrome\Application\");
service.HideCommandPromptWindow = true;
webDriver = new ChromeDriver(service, option);

C# Chrome浏览器网页自动化操作相关推荐

  1. 谷歌浏览器怎么查看网页源代码 Chrome浏览器网页源代码查看技巧分享

    凭借简单.高效的使用体验,谷歌开发的网页浏览器"Chrome"在国内也不乏粉丝,甚至一度被视为装机必备的软件之一.但其操作方式和界面设计,与国产浏览器略有不同!那么,谷歌浏览器要怎 ...

  2. chrome浏览器网页版_如何在Chrome(或任何浏览器)中编辑任何网页

    chrome浏览器网页版 Web pages are just documents your web browser displays. But what if you could type dire ...

  3. selenium入门超详细教程——网页自动化操作

    文章目录 简介 一.环境安装 1.selenium安装 2.安装浏览器驱动 2.1 确定浏览器版本 2.2 下载驱动 二.基础用法 1.对页面进行操作 1.1 初始化浏览器对象 1.2 访问页面 1. ...

  4. Python对浏览器的自动化操作(商品监控下单)

    文章目录 1.起因 2.需求 3.准备环境 1.[ pip的使用 ] 2.下载插件 3.插件放在Python根目录 4.运行测试 1.无货测试 2.有货测试 5.彩蛋 1.起因 这篇文章应该是前年和教 ...

  5. 解决Ubuntu上安装chrome浏览器网页空白的问题

    最近在Ubuntu上安装chrome浏览器,出现打开网页后网页空白的问题,由于是小白,刚接触Ubuntu,所以很多都不懂,欢迎大家讨论. 安装完chrome后,在终端窗口输入: /usr/bin/go ...

  6. Chrome浏览器网页保存成图片

    Chrome浏览器把整个网页保存成图片 1.使用快捷键 F12打开开发人员工具功能, 2.按 快捷键Ctrl + Shift + P(Mac 为 ⌘Command + ⇧Shift + P) 3.输入 ...

  7. 解决 Chrome浏览器网页上出现光标,无法通过键盘方向键实现页面滚动的问题

    本博客解决了在使用新版chrome浏览器时存在的一个诡异现象,网页上点击任何东西都会出现光标,就像在word软件中一样,并且无法使用键盘的上下方向键让页面滚动起来. 问题描述 如下图所示,网页中有一个 ...

  8. Chrome浏览器 网页长截图方法

    平时我们在浏览网页的时候,碰到自己喜欢的页面,想要截图而自己的显示器窗口高度有限,我下面将为大家分享这种方式,获得整个网页的截图.一起来开始吧: 首先,我们用到的浏览器是谷歌的Chrome浏览器. 第 ...

  9. Chrome浏览器网页保存为mhtml

    1 配置Chrome浏览器 Chrome浏览器要想保存为mhtml的话,以前是在chrome://flags下搜索mhtml然后点击启用即可 但是新版本没有了这个功能,新版本是如下这么设置 右键chr ...

最新文章

  1. Python游戏开发:最强大脑第一关,数字华容道
  2. EBS报表 查看输出 FNDWRR.exe
  3. Mybatis openSession.commit()手动提交数据和openSession.commit(true)自动动提交数据
  4. 单体应用 适合采用 dapr 构建吗?
  5. 内存泄漏Valgrind
  6. java 提高性能的 容器库_容器隔离性带来的问题--容器化Java应用比虚机启动速度慢...
  7. (需求实战_进阶_04)SSM集成RabbitMQ 通配符模式 关键代码讲解、开发、测试
  8. 赛锐信息:SAP进化论
  9. oracle 检查链接数,oracle连接数检查
  10. 性能测试--jmeter中使用jsonpath提取响应结果【17】
  11. springSecurity 基于方法权限控制@RolesAllowed @Serured @PreAuthorize 与 页面端标签控制权限...
  12. MySQL(7)-----常用约束
  13. 三相桥式全控整流电路simulink仿真_交流变直流,二极管整流电路是如何工作的?...
  14. JS 获取当前浏览器版本,验证浏览器版本是否高于谷歌80
  15. 《今日简史》一、旧故事已然崩坏,新故事尚未构建
  16. 品牌数字化转型|借势营销节点,3 招解锁品牌营销力
  17. Prometheus + Grafana 图形化监控实践
  18. MySQL查询优化方法
  19. input的各种事件
  20. 5/17/2015 今週日本語勉強の纏め

热门文章

  1. gaps的安装__kali
  2. STM32利用FATFS文件系统给SD卡读写数据
  3. OpenWrt 定时关闭2.4g或5g wifi
  4. 充满未来和科幻的界面设计FUI在国内还没有起步在国外早起相当成熟
  5. 微信云控开发SDK使用教程--手机机端回传检测清粉好友数通知服务端
  6. PHP程序员开发工具
  7. opencv3与opencv2特性区别,及代码部署上的bug避坑点
  8. Java实现发送手机验证码
  9. 浅试python打包exe文件 + ico图像制作
  10. 2022.03.27网易算法第一题