随笔 - 49  文章 - 0  评论 - 20  阅读 - 12万

写Selenium代码时一些技巧

本文地址: https://www.cnblogs.com/hchengmx/p/10880002.html

1. Chrome插件之"CSS Selector Helper for Chrome"。

对于复杂网页。
这个插件可以显示出当前定位元素,它的和它的所有祖先的Css属性,选中属性可以查看,"要是以当前选择的为CssSelector,当前页面可以匹配多少个元素"。

所以找一个元素分为这样几个步骤:

  1. 在chrome下,使用 Shift + Ctrl + C,并用鼠标移动,找到需要定位的元素。
  2. F12打开DevTools;
  3. 鼠标点击当前元素的html代码;
  4. 点击Get Selector;
  5. 选择当前结点唯一属性,或者是易读易理解的属性,要是无唯一属性,找父节点的唯一属性,用祖先子类选择器定位元素
  6. Selector to Clipboard;

2. 定位会自动消失的元素;

在写等待的时候,有些元素会自动消失,在不同的网络条件下可能加载速度不一样,所以就要等待这个元素加载成功。可以用Chrome的DevTools,当等到需要等的元素的时候,就停止网页加载。

3. Chrome的headless模式和最大化窗口

public ChromeDriverFactory()
{
    var chromeOptions = new ChromeOptions();
    chromeOptions.AddArguments(new string[]{
            "--window-size=1920,1080",  //headless默认为这么大,这样就可以截屏就是整个页面;
            "--headless", 
            //"start-maximized",  //要是不想用headless,就注释掉上面两行,不注释这一行
            "–disable-gpu",
            "–disable-dev-shm-usage",
            "–disable-setuid-sandbox",
            "–no-first-run",
            "–no-sandbox",
            "–no-zygote",
            "–single-process"
        });
    this.options = chromeOptions;
}

参考资料:

  1. Puppeteer性能优化与执行速度提升
posted on   hchengmx  阅读(847)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示