更改现有 Web 驱动程序中的 ChromeOptions

2025-02-18 09:23:00
admin
原创
36
摘要:问题描述:场景:需要将文件从 Web 层次结构下载到同一层次结构下的本地驱动器。Web 层次结构示例:Parent 1: Child 1: *File 1 Child 2: *File 2 下载文件 1 时,它应存储在路径 1 - “C:\....\Download...

问题描述:

场景:需要将文件从 Web 层次结构下载到同一层次结构下的本地驱动器。

Web 层次结构示例:

Parent 1:  
  Child 1:  
    *File 1  
  Child 2:  
    *File 2  

下载文件 1 时,它应存储在路径 1 - “C:\....\Downloads\Parent 1\Child 1\”

下载文件 2 时,它应存储在路径 2 - “C:\....\Downloads\Parent 1\Child 2\”

问题

当我在 setUp() 中首次初始化 webdriver 并下载“文件 1”时,在 chrome webdriver 中保留“C:....\Downloads\Parent 1\Child 1\”下载路径,它会下载到预期文件夹中。但是,当我在 chrome webdriver 中设置下一个“C:....\Downloads\Parent 1\Child 2\”下载路径以下载其中的文件 2 时,它会打开另一个 chrome 浏览器,因为我正在使用另一个 webdriver 设置路径 2。

所需解决方案

我想使用现有的 webdriver 来设置不同的 chrome 下载路径或您能想到的任何其他解决方法。

当前代码

def setUp(self):  
browser = webdriver.Chrome(chromedriver_path, option_with_path_1_set)

def test_downloadFiles(self):  
*code to download first file*  
driver = webdriver.Chrome(chromedriver_path, option_with_path_2_set)  
*code to download second file*  

def tearDown(self):  
browser.quit()

如果您需要任何其他信息,请告诉我。

提前致谢!


解决方案 1:

当您通过ChromeOptions配置ChromeDriver实例以启动新的Chrome 浏览器时,该配置将被嵌入chromedriver可执行文件中,该文件将在WebDriver的整个生命周期内持续存在并且不可编辑

即使您能够从启动的浏览会话中提取ChromeDriverChromeSession属性(例如会话 IDCookie*和其他会话属性),您仍然无法更改ChromeDriver*的这些属性。

一种更简洁的方法是调用driver.quit()方法tearDown(){}来正常关闭销毁ChromeDriver和Chrome 浏览器实例,然后使用新的配置集生成一组新的ChromeDriverChrome 浏览器实例。


总结

您可以在以下位置找到几个相关的讨论:

  • 如何在同一会话中将 selenium webdriver 从无头模式设置为正常模式?

  • 手动登录后如何使 Chrome Headless 生效

相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1325  
  IPD(Integrated Product Development)流程作为一种先进的产品开发管理模式,在众多企业中得到了广泛应用。它涵盖了从产品概念产生到产品退市的整个生命周期,通过整合跨部门团队、优化流程等方式,显著提升产品开发的效率和质量,进而为项目的成功奠定坚实基础。深入探究IPD流程的五个阶段与项目成功之间...
IPD流程分为几个阶段   4  
  华为作为全球知名的科技企业,其成功背后的管理体系备受关注。IPD(集成产品开发)流程作为华为核心的产品开发管理模式,其中的创新管理与实践更是蕴含着丰富的经验和深刻的智慧,对众多企业具有重要的借鉴意义。IPD流程的核心架构IPD流程旨在打破部门墙,实现跨部门的高效协作,将产品开发视为一个整体的流程。它涵盖了从市场需求分析...
华为IPD是什么   3  
  IPD(Integrated Product Development)研发管理体系作为一种先进的产品开发模式,在众多企业的发展历程中发挥了至关重要的作用。它不仅仅是一套流程,更是一种理念,一种能够全方位提升企业竞争力,推动企业持续发展的有效工具。深入探究IPD研发管理体系如何助力企业持续发展,对于众多渴望在市场中立足并...
IPD管理流程   3  
  IPD(Integrated Product Development)流程管理旨在通过整合产品开发流程、团队和资源,实现产品的快速、高质量交付。在这一过程中,有效降低成本是企业提升竞争力的关键。通过优化IPD流程管理中的各个环节,可以在不牺牲产品质量和性能的前提下,实现成本的显著降低,为企业创造更大的价值。优化产品规划...
IPD流程分为几个阶段   4  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用