selenium起源
Selenium是一个用于自动化浏览器操作的开源工具。它最初由Jason Huggins在2004年创建,当时他是ThoughtWorks的一名软件测试工程师。他需要一个工具来自动化测试Web应用程序,以提高测试效率和准确性。
最初,Huggins使用JavaScript编写了一个原型,用于控制浏览器并模拟用户操作。他将这个原型命名为"Selenium Core"。随后,他将这个原型与其他开发人员共享,并得到了积极的反馈和贡献。
2006年,Selenium项目正式发布,并由ThoughtWorks赞助。Selenium分为两个主要部分:Selenium IDE和Selenium Remote Control(RC)。Selenium IDE是一个浏览器插件,用于录制和回放用户操作。Selenium RC是一个服务器,它允许开发人员使用各种编程语言编写测试脚本,并通过远程控制浏览器执行这些脚本。
随着时间的推移,Selenium项目不断发展和演进。2008年,Selenium WebDriver被引入,它提供了更强大和可靠的浏览器自动化功能。WebDriver支持多种浏览器,并提供了更直接的API来与浏览器进行交互。
2011年,Selenium项目与WebDriver合并,形成了现在被称为"Selenium WebDriver"的工具。WebDriver成为Selenium的主要组件,提供了跨浏览器的自动化测试解决方案。
总结起来,Selenium起源于Jason Huggins的个人需求,并在开源社区的贡献下逐渐发展成为一个功能强大的浏览器自动化工具。
selenium 打开360兼容
以下是使用Selenium打开360浏览器并设置为兼容模式的Python代码:
```python from selenium import webdriver
options = webdriver.ChromeOptions() options.add_argument(r'--user-data-dir=C:\Users\username\AppData\Local\360Chrome\Chrome\User Data') # 设置用户数据目录 options.add_argument(r'--force-fieldtest=SiteIsolationExtensions/Control') options.add_argument(r'--disable-site-isolation-trials') options.add_argument('--disable-extensions') # 禁用扩展 options.add_argument('--disable-infobars') # 禁用信息栏 options.add_argument('--start-maximized') # 最大化窗口 options.add_argument('--disable-web-security') # 禁用web安全 options.add_argument('--no-sandbox') # 禁用沙盒模式 options.add_argument('--disable-gpu') # 禁用GPU加速 options.add_argument('--disable-dev-shm-usage') # 禁用/dev/shm使用 options.add_argument('--disable-browser-side-navigation') # 禁用浏览器侧边导航 options.add_argument('--disable-features=site-per-process') # 禁用站点隔离 options.add_argument('--disable-features=VizDisplayCompositor') # 禁用viz显示组合器 options.add_argument('--disable-features=NetworkService') # 禁用网络服务 options.add_argument('--disable-features=NetworkServiceInProcess') # 禁用进程内网络服务 options.add_argument('--disable-features=RendererCodeIntegrity') # 禁用渲染器代码完整性检查 options.add_argument('--disable-features=IsolateOrigins') # 禁用隔离起源 options.add_argument('--disable-features=SharedArrayBuffer') # 禁用共享数组缓冲区 options.add_argument('--disable-features=AudioServiceOutOfProcess') # 禁用音频服务外部进程 options.add_argument('--disable-features=OutOfBlinkCors') # 禁用跨域请求 options.add_argument('--disable-features=OutOfBlinkCors') # 禁用跨域请求 options.add_argument('--disable-features=UseSurfaceLayerForVideo') # 禁用使用表面层进行视频 options.add_argument('--disable-features=TextFragmentAnchor') # 禁用文本片段锚点 options.add_argument('--disable-features=DirectSockets') # 禁用直接套接字 options.add_argument('--disable-features=AsyncWheelEvents') # 禁用异步滚轮事件 options.add_argument('--disable-features=TouchpadAndWheelScrollLatching') # 禁用触摸板和滚轮滚动锁定 options.add_argument('--disable-features=AutofillEnableAccountWalletStorage') # 禁用自动填充启用帐户钱包存储 options.add_argument('--disable-features=AutofillServerCommunication') # 禁用自动填充服务器通信 options.add_argument('--disable-features=AutofillCreditCardSigninPromo') # 禁用自动填充信用卡登录推广 options.add_argument('--disable-features=AutofillCreditCardUploadDetection') # 禁用自动填充信用卡上传检测 options.add_argument('--disable-features=AutofillProfileServerCommunication') # 禁用自动填充配置文件服务器通信 options.add_argument('--disable-features=AutofillSaveCardSignInAfterLocalSave') # 禁用自动填充保存卡后本地保存登录 options.add_argument('--disable-features=AutofillUpstream') # 禁用自动填充上游 options.add_argument('--disable-features=AutofillManualFallback') # 禁用自动填充手动回退 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip') # 禁用自动填充启用工具栏状态芯片 options.add_argument('--disable-features=AutofillEnableToolbarStatusChip')
appium和selenium元素定位
Appium和Selenium都是用于自动化测试的工具,它们主要用于Web和移动应用的UI(用户界面)测试。在元素定位方面:
Appium:Appium是一个开源的跨平台自动化测试框架,主要针对移动应用程序(iOS和Android)。它通过WebDriver API提供接口,允许开发者像操作浏览器那样控制移动设备或模拟器。在Appium中定位元素通常需要指定正确的元素标识符,如XPath、ID、ClassName等,取决于目标应用程序使用的UI组件库。
Selenium:Selenium起源于Web自动化测试,支持多种浏览器,包括Chrome、Firefox、Edge等。在Selenium中,有多种寻找到HTML元素的方式:
- ID:每个HTML元素通常有一个唯一的id属性来进行定位。
- Name:有时使用name属性,虽然不是强制的,但在某些情况下更常见。
- XPath:一种强大的XML路径表达式,可以描述元素在DOM树中的位置。
- CSS Selectors:CSS选择器是一种简洁的方式来查找网页元素。
无论是Appium还是Selenium,定位元素时都要考虑页面结构的动态变化以及元素的可见性和是否存在等因素。同时,开发者需要根据实际项目的需求和所选的API版本调整定位策略。
相关推荐















