微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

写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,就注释掉上面两行,不注释这一行
            "--no-sandBox",   
            "--disable-gpu",   
            "--disable-extensions"  
        });
    this.options = chromeOptions;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐