首页 > 其他分享 >selenium相关配置

selenium相关配置

时间:2024-09-10 17:36:43浏览次数:1  
标签:-- driver 配置 selenium argument add 相关 等待 options

# 创建一个配置对象
options = webdriver.ChromeOptions()

# 代理设置
options.add_argument('--proxy-server=http://221.131.165.71:27208')

# 携带本地用户信息启动,注意:在使用的时候要将运行的谷歌浏览器全部关闭
# --user-data-dir     携带的谷歌的本地信息,默认路径
options.add_argument("--user-data-dir=C:/Users/Administrator/AppData/Local/Google/Chrome/User Data/")

# 去除网站的一些自动化检测
# 此步骤很重要,设置为开发者模式,防止被各大网站识别出来使用了Selenium
options.add_experimental_option('excludeSwitches', ['enable-automation'])

# 就是这一行告诉chrome去掉了webdriver痕迹,令navigator.webdriver=false,极其关键
options.add_argument("--disable-blink-features=AutomationControlled")

# 修改为无界面模式
# 把chrome设置成无头模式,不论windows还是linux都可以,自动适配对应参数
options.set_headless()

# 封禁图片提高访问速度
prefs = {"profile.managed_default_content_settings.images": 2}
options.add_experimental_option("prefs", prefs)
options.add_argument('--headless')
options.add_argument('--disable-gpu')

# 实例化带有配置的driver对象
driver = webdriver.Chrome(options=options)

# 正常的使用selenium.....

# 优化等待页面
# selenium等待的三种方式:强制等待 隐式等待 显式等待

driver.implicitly_wait(10) # 隐式等待
driver.get("https://www.baidu.com")

# 自己动手写显式等待
def find_element_by_xpath(xpath):
    n = 0
    # 等待优化
    while n < 30:
        try:
            time.sleep(0.5)
            goods_list = driver.find_elements_by_xpath(xpath)
            if len(goods_list) < 需要的数据量,如果不到这个数据量就继续访问,如果到就返回数据:
                print("继续加载...")
            return goods_list
        except:
            print("节点还没有加载完成...")

标签:--,driver,配置,selenium,argument,add,相关,等待,options
From: https://www.cnblogs.com/lsixu/p/18406798

相关文章

  • JAVA+VUE实现动态表单配置
    功能描述:资产管理系统中,在资产分类中,给同一种类型的资产配置定制化的表单项,并实现不同类型显示不同的数据,如图所示:数据库设计部分:1.表单项表CREATETABLE`dct_smp`.`t_asset_product_definitions`(`id`bigintNOTNULL,`product_id`bigintNOTNULLCOMMENT'......
  • nginx+lua配置
    nginx中可以配置`--lua校验配置location^~/lua/{default_type'text/html';access_by_lua_file/usr/local/nginx/conf/access.lua;}--重定向配置location^~/toRedirect/{proxy_passhttp://目标ip:目标端口/;proxy_set_headerHost$host;proxy_set_headerX-Re......
  • selenium实战指南:如何防止被浏览器检测?
    一、简介在网络技术飞速发展的今天,自动化测试作为软件质量保证的重要手段,已经越来越受到开发者和运维人员的重视。其中,Selenium以其强大的功能和灵活的跨平台特性,成为了许多开发者进行Web应用自动化测试的首选工具。然而,随着浏览器安全策略的不断完善,如何有效地防止Selenium在自动......
  • Unreal 配置插件依赖另一个插件
    例如:插件A依赖插件B1、把两个插件都放到项目Plugins文件夹下2、修改插件A的A.uplugin文件,添加如下片段"Plugins":[{"Name":"B","Enabled":true},...]3、修改插件A跟插件B的加载时间设置打开A.uplugin,设置加载时间为Default"Mo......
  • fnm安装及配置,Linux中实现node版本管理
    fnm安装及配置,Linux中实现node版本管理源码:Schniz/fnm:......
  • Scala在IDE中如何配置运行
    一、新建项目二、添加项目结构三、创建Scala类创建一个Object类,编写一个简易程序如下......
  • 视图相关
    视图1FBV和CBV非前后端分离,FBV前后端分离、小程序API,CBV【djangorestframekwork框架)2参数request对象,读取请求相关所有的数据。request.methodrequest.GET?name=123&age=123&age=199=>特殊的字典:{name:[123],"age":[123,1999]}reqeust.POSTrequest......
  • React路由配置参考(记录)
    整体:登录页单独处理:将登录页单独处理,路径为/login。使用AuthLayout处理授权页面:AuthLayout可以作为一个高阶组件,确保用户登录后才能访问系统中的其他页面。加载主布局BasicLayout:BasicLayout可以用来加载系统的主布局,并通过routesRender(routesConfig)渲染配置文件中......
  • oracle配置SGA参数不当导致不能正确启动数据库实例处理
    原因:生成环境数据库想要增加数据库内存配置参数SGA_TARGET增加到42G,但是没有配置SGA_MAX_SIZE参数值,导致SHUTDOWNIMMEDIATE停止数据库,再STARTUP启动数据库是提示错误:ORA-00823:Specifiedvalueofsga_targetgreaterthansga_max_size。处理思路:根据现有的spfile生成非二进制......
  • 路由相关
    路由分发研究djangoadmin源码时:namespace是什么?无namespacefromdjango.urlsimportreverseurl=reverse("v2")print(url)有namespacefromdjango.urlsimportreverseurl=reverse("namespace名称:v2")print(url)url=reverse("namespa......