统计selenium模拟登录的一些方法

devtools/2024/11/30 10:46:23/

驱动安装

之前常常是先根据浏览器版本下载对应版本的驱动,但其实有一个办法是可以自动获取当前浏览器的版本,自动下载对应的驱动到本地的。

    from webdriver_manager.chrome import ChromeDriverManagerbrowser = webdriver.Chrome(ChromeDriverManager().install())

去掉webdriver痕迹

有一些网站,当用webdriver访问时,会提示请求失败。这时,就需要去掉webdriver痕迹,模拟正常登录。

    from selenium.webdriver import ChromeOptionsoptions = ChromeOptions() # 启动配置参数options.add_argument("--disable-blink-features=AutomationControlled") # 增加参数browser = webdriver.Chrome(ChromeDriverManager().install(), options=options)

如果还需去掉受自动测试软件控制的提示,则需要添加如下参数

    options.add_experimental_option('useAutomationExtension', False)

xpath定位元素的tips

//* 代表选取文档中的所有元素
    # 查找所有元素,找到文案包含“登录”的元素,点击browser.find_elements(By.XPATH, "//*[contains(text(), '登录')]")[0].click()
查找特定元素
    placeholder = '用户名'account='username'# 选取所有input元素(不管位置),拥有值为{placeholder}的placeholder属性browser.find_elements(By.XPATH, f"//input[@placeholder='{placeholder}']")[0].send_keys(account)

上方代码以f开头,表示在字符串内支持大括号内的python表达式

拖拽元素
    from selenium.webdriver import ActionChains# 找到drag元素drag = browser.find_elements(By.XPATH, "//span[@class='btn_slide']")[0]# 调用ActionChains()类,并将浏览器驱动browser作为参数传入action_chains = ActionChains(browser)# 模拟拖拽,拖拽到某个坐标然后松开action_chains.drag_and_drop_by_offset(drag, 320, 0)# 执行ActionChains()中储存的所有操作,可以看做是执行之前一系列的操作action_chains.perform()


http://www.ppmy.cn/devtools/4837.html

相关文章

安全开发实战(1)--Cdn

目录 安全开发专栏 CDN介绍 1.信息收集阶段 1.1判断CDN是否存在 1.1.1, One 1.1.2,Two(改进) 1.1.3,进行整合 增加输入功能 1.1.4 批量读取监测存储(进行测试) 问题1: 问题2: 解决方案: 1.1.4 基本编写完成 命令框中: cdn存在.txt 总结 这里我是根据整个渗透测…

实体类List重复校验

如果实体类有多个属性,并且你希望根据所有属性的组合来进行重复校验,你可以考虑以下几种方法: 使用集合存储已经出现过的实体对象: 将每个实体对象放入一个 Set 中进行重复校验。在 Set 中元素的比较可以使用自定义的 equals 方法…

OWASP发布十大开源软件安全风险清单

OWASP发布了“十大开源软件风险”TOP10清单,并针对每种风险给出了安全建议。 近年来开源软件安全风险快速增长,不久前曝光的XZ后门更是被称为“核弹级”的开源软件供应链漏洞。虽然XZ后门事件侥幸未酿成灾难性后果,但为全球科技界敲响了警钟&…

如何查看项目中使用的Qt版本

如何查看项目中使用的Qt版本 1.点击左下角电脑按钮查看Qt版本。 2.点击左侧栏项目按钮查看Qt版本。

《综合品酒师》培训中FENDI CLUB精酿啤酒掀起品质生活新浪潮

近日,云仓酒庄的《综合品酒师》培训活动成功刷新了世界纪录,这一壮举不仅彰显了云仓酒庄在人才培养方面的专业实力,更以其与众不同的FENDI CLUB精酿啤酒掀起了酒水行业的新风尚。作为一名业内专业人士,我深入剖析了此次培训对酒水…

微信域名防封/QQ域名防封/域名状态检测/域名防红防封API平台源码

下载地址:API平台源码 这套源码是使用thinkphp3.1.3开发的,可以在PHP5.3-5.6下运行,程序是有一点老了,但是思路仍在!然后,这套源码我已经成功搭建起来了,后台、个人(用户&#xff0…

【云计算】云数据中心网络(五):对等连接

《云网络》系列,共包含以下文章: 云网络是未来的网络基础设施云网络产品体系概述云数据中心网络(一):VPC云数据中心网络(二):弹性公网 IP云数据中心网络(三)…

【Entity Framework】你知道如何处理无键实体吗

【Entity Framework】你知道如何处理无键实体吗 文章目录 【Entity Framework】你知道如何处理无键实体吗一、概述二、定义无键实体类型数据注释 三、无键实体类型特征四、无键实体使用场景五、无键实体使用场景六、无键使用示例6.1 定义一个简单的Blog和Post模型:6…