pythonselenium浏览器_python – 让Selenium适用于任何浏览器?

本文探讨了如何在Selenium自动化测试中动态检测用户的默认浏览器并匹配合适的驱动程序。作者指出,这种方法可能存在挑战,如Selenium版本与浏览器版本的兼容性问题。建议提供自定义的Firefox二进制路径来确保测试稳定性。同时,文章提醒读者注意不同ChromeDriver版本对Chrome浏览器的支持范围,并强调了处理不同用户环境的复杂性。
摘要由CSDN通过智能技术生成

一个可能的逻辑是

>首先缺陷系统的默认浏览器是什么

>然后在你的Selenium代码中,使用一个开关,比如

browser = get_default_browser_name()

if browser = firefox

then launch firefox

if browser = chrome

then launch chrome

if browser = ie

then launch ie

第一步可能很棘手,Windows上的C#可能来自注册表.不确定如何在Python中编写代码或如何处理其他系统,如Linux / Mac.

但是,您的想法毕竟不会按预期工作,因为Selenium版本需要与浏览器版本匹配.

例如,如果你的程序中有Selenium 2.40.0,但有些用户使用Firefox Nightly(这是FF30),那么它将不起作用,因为Selenium目前不支持FF30.

Chrome也是如此,不同版本的ChromeDriver支持不同版本的Chrome.你怎么知道你需要包含哪个ChromeDriver? ChromeDriver 2支持27及更高版本的Chrome,每种版本都有更多特定的版本要求,请参阅发行说明here.如果有人使用Chrome 26或以下版本怎么办?更麻烦.

我建议你包括你自己的便携式Firefox,然后在启动浏览器时指定二进制位置.

from selenium import webdriver

from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary('path/to/binary')

driver = webdriver.Firefox(firefox_binary=binary)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值