首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在selenium webdriver中,我想使用条件选择FTP如果FTP存在,则选择HTTP,如果两者都存在,则选择HTTPS

在selenium webdriver中,可以使用条件选择语句来实现根据FTP、HTTP和HTTPS的存在情况进行选择。以下是一个示例代码:

代码语言:python
代码运行次数:0
复制
from selenium import webdriver

# 检查FTP是否存在
def check_ftp():
    # 实现FTP存在的逻辑
    pass

# 检查HTTP是否存在
def check_http():
    # 实现HTTP存在的逻辑
    pass

# 检查HTTPS是否存在
def check_https():
    # 实现HTTPS存在的逻辑
    pass

# 主要逻辑
if check_ftp():
    # 选择FTP
    driver = webdriver.FTP()
elif check_http():
    # 选择HTTP
    driver = webdriver.HTTP()
elif check_https():
    # 选择HTTPS
    driver = webdriver.HTTPS()
else:
    # 无法选择任何协议
    raise Exception("无法选择协议")

# 后续操作
# ...

在上述代码中,我们定义了三个函数check_ftp()check_http()check_https()来检查FTP、HTTP和HTTPS的存在情况。根据这些函数的返回结果,我们选择相应的webdriver协议进行实例化。

需要注意的是,上述代码中的webdriver.FTP()webdriver.HTTP()webdriver.HTTPS()只是示例,实际使用时需要根据具体的开发语言和webdriver库进行相应的调整。

关于selenium webdriver的更多信息,你可以参考腾讯云的产品文档:Selenium WebDriver产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

《手把手教你》系列基础篇之(四)-java+ selenium自动化测试- 启动三大浏览器(下)基于Maven(详细教程)

1.简介 上一篇文章,宏哥已经搭建的java项目环境实践了,今天就在基于maven项目的环境给小伙伴们 或者童鞋们演示一下。...4.选择Maven项目的模板也叫项目类型(quikstart或者webapp等等),,如果选择create a simple project,跳过了下面的步骤,也就不存在这个问题了,但是如果需要选择项目类型...因此要给上面创建的maven项目中加载selenium依赖,只需pom.xml引入selenium的jar包即可;具体步骤如下: 1.查看maven仓库:http://mvnrepository.com...Selenium3.0开始需下载geckodriver,使用geckodriver ,Firefox浏览器必须是48或者更高版本。...所有火狐浏览器版本下载地址:http://ftp.mozilla.org/pub/firefox/releases/ 所有火狐驱动geckodriver版本下载地址:https://github.com

1.4K20

面试题五期-中高级测试工程师基础知识必备之selenium

答:The WebDriver Wire Protocol 2.启动浏览器的时候用到的是哪个webdriver协议? 答:http 3.怎样去选择一个下拉框的value=xx的option?...2.断言是指定一个程序必须已经存在的状态的一个逻辑表达式,或者一组程序变量程序执行期间的某个点上必须满足的条件。...6.如果你进行自动化测试方案的选型,你会选择哪种语言,java,js,python还是ruby?...电脑的开始菜单运行输入cmd,弹出的黑框输入:ping 你的域名;然后回车,如果看不到IP或IP地址与你的主机地址不符,说明域名解析有误,是域名的问题得重新解析域名。...会将firefox绑定到特定的端口,绑定完成后该firefox实例便作为webdriver的remote server存在;客户端(也就是测试脚本)创建1个session,该session通过http

89010
  • Python+Selenium2 搭建自动化测试环境

    老版本下载:http://ftp.mozilla.org/pub/firefox/releases/   (推荐) 本节主要记录简单搭建Python+Selenium测试环境的过程,具体如下: 基础环境...cmd进入命令行:pip install selenium 执行之后,将自动化搜寻最新的selenium版本下载并安装,如下图所示: ? 以上显示,表明在线安装selenium成功!...看来如果使用 new ChromeDriver() 的话,应该要安装 Chromium 而不是 Chrome,现在懒得折腾了,有兴趣的童鞋可以试验一下。 ...://ftp.mozilla.org/pub/firefox/releases/  (推荐) 错误1: 如果报错,更新selenium到最新版,错误信息: Message: Can't load the...总结 通过以上三个不同浏览器上的测试,说明seleniumpython的运用于其Java版本都是一样。

    1.2K110

    python爬虫从入门到放弃(八)之 Selenium库的使用

    二、selenium基本使用 用python写爬虫的时候,主要用的是seleniumWebdriver,我们可以通过下面的方式先看看Selenium.Webdriver支持哪些浏览器 ?...,'.service-bd li') 同样的单个元素查找的方法多个元素查找同样存在: find_elements_by_name find_elements_by_id find_elements_by_xpath...,如果 WebDriver没有 DOM中找到元素,将继续等待,超出设定时间后抛出找不到元素的异常, 换句话说,当查找元素或元素并没有立即出现的时候,隐式等待将等待一段时间再查找 DOM,默认的时间是...0 隐式等待 到了一定的时间发现元素还没有加载,继续等待我们指定的时间,如果超过了我们指定的时间还没有加载就会抛出异常,如果没有需要等待的时候就已经加载完毕就会立即执行 from selenium import...,并且指定一个最长等待时间,会在这个时间内进行判断是否满足等待条件如果成立就会立即返回,如果不成立,就会一直等待,直到等待你指定的最长等待时间,如果还是不满足,就会抛出异常,如果满足了就会正常返回 from

    2.9K70

    Selenium库的使用

    二、selenium基本使用 用python写爬虫的时候,主要用的是seleniumWebdriver,我们可以通过下面的方式先看看Selenium.Webdriver支持哪些浏览器 ?...,'.service-bd li') 同样的单个元素查找的方法多个元素查找同样存在: find_elements_by_name find_elements_by_id find_elements_by_xpath...,如果 WebDriver没有 DOM中找到元素,将继续等待,超出设定时间后抛出找不到元素的异常, 换句话说,当查找元素或元素并没有立即出现的时候,隐式等待将等待一段时间再查找 DOM,默认的时间是...0 隐式等待 到了一定的时间发现元素还没有加载,继续等待我们指定的时间,如果超过了我们指定的时间还没有加载就会抛出异常,如果没有需要等待的时候就已经加载完毕就会立即执行 from selenium import...,并且指定一个最长等待时间,会在这个时间内进行判断是否满足等待条件如果成立就会立即返回,如果不成立,就会一直等待,直到等待你指定的最长等待时间,如果还是不满足,就会抛出异常,如果满足了就会正常返回 from

    1.4K20

    《手把手教你》系列基础篇之(三)-java+ selenium自动化测试- 启动三大浏览器(上)(详细教程)

    2.Bjhg_Selenium项目下,新建一个文件夹Tools,把Selenium相关包放到这个文件夹下,如下图所示: ?...,弹出框,选择当前项目下tools这个文件夹里面的selenium-server-standalone-3.4.0.jar,点击OK,效果如下图所示: ?...注意:一个大的chromedriver版本里面可能包含的有多个小版本,如果下载的Chromedriver版本和当前使用的chrome浏览器版本不匹配则可以换其他的试试。...Selenium3.0开始需下载geckodriver,使用geckodriver ,Firefox浏览器必须是48或者更高版本。...所有火狐浏览器版本下载地址:http://ftp.mozilla.org/pub/firefox/releases/ 所有火狐驱动geckodriver版本下载地址:https://github.com

    2K20

    Selenium等待:sleep、隐式、显式和Fluent

    因此,如果测试用例脚本中找到尚未加载到页面上的元素,Selenium会向抛出ElementNotVisibleException的异常。...在此代码段使用的是某一航空订票网站的示例,该示例,post用户选择行程日期的From和To目的地,Web应用程序需要花费一些时间来加载所需的航班详细信息。...可以使用类名(即Thread)的引用来调用此方法。如果使用Selenium执行自动化测试时使用Thread.Sleep(),此方法将在指定的时间段内停止执行脚本,而不管是否在网页上找到了该元素。...在此示例使用了相同的订票网站示例。在这种情况下,我们将进行预订过程,在此过程页面需要花费更多的时间来加载。...下面是显示等待在Selenium中用法的代码段。在此示例,我们使用的是订票网站,其中的模式动态时间显示主页上。使用显式等待,基于元素的可见性,我们将等待元素并关闭弹出窗口。

    2.6K30

    Selenium面试题

    不可以,点击的话,可以用js去掉dispalay=none的属性 NO.8 selenium如何保证操作元素的成功率? 保证操作元素的成功率,也就是说如何保证点击的元素一定是可以点击的?...与id有关:id 全能选手:xpath、css_selector 如果存在id,一定使用Id,因为简单方便,定位最快。...如果XPath文档的任意位置开始进行选择匹配,那么它将允许创建“相对”路径表达式。 例如 “// p”匹配所有的段落元素。 NO.18 什么是XPath?...如果没有与页面上的元素相关联的名称/ ID,或者名称/ ID的一部分是常量,必须使用XPath。...WebDrive协议本身是http协议,数据传输使用json 启动浏览器的时候用到的是http协议 NO.23 如何处理WebDriver的AJAX控件?

    5.7K30

    彻底学会Selenium元素定位

    因此,本篇将详细介绍Selenium八大元素定位方法,以及自动化测试框架如何对元素定位方法进行二次封装,最后会给出一些定位元素时的经验总结。...使用id选择器的前提条件是元素必须要有id属性。由于id值一般是唯一的,因此当元素存在id属性值时,优先使用id方式定位元素。...name定位方式使用的前提条件是元素必须有name属性。由于元素的name属性值可能存在重复,所以必须确定其能够代表目标元素唯一性后,方可使用。...由于存在大量标签,并且重复性高,因此必须确定其能够代表目标元素唯一性后,方可使用如果页面存在多个相同标签,默认返回第一个标签元素。...* 号代替,实际应用推荐使用相对路径。

    6.7K31

    Selenium使用方法简介

    如果用find_elements()方法,结果是列表类型,列表的每个节点是WebElement类型。...Selenium打开页面后,它默认是父级Frame里面操作,而此时如果页面还有子Frame,它是不能获取到子Frame里面的节点的。...所以,当页面包含子Frame时,如果获取子Frame的节点,需要先调用switch_to.frame()方法切换到对应的Frame,然后再进行操作。 11....延时等待 Selenium,get()方法会在网页框架加载结束后结束执行,此时如果获取page_source,可能并不是浏览器完全加载完成的页面,如果某些页面有额外的Ajax请求,我们在网页源代码也不一定能成功获取到...隐式等待 当使用隐式等待执行测试的时候,如果Selenium没有DOM中找到节点,将继续等待,超出设定时间后,抛出找不到节点的异常。

    5K61

    python3+selenium常用语法汇总

    ://www.baidu.com")   关闭网页:driver.close()   输入框输入内容:send_keys(“”)   清空输入框的内容:text.clear()   获取输入框的内容...    先引入下面的包:   from selenium.webdriver.support.ui import Select   (1)选择列表:   select_by_index(self, index...://www.cnblogs.com/mengyu/p/6901489.html   三、Selenium常用键盘操作   1.使用键盘操作前需导入Key包,如下;       from selenium.webdriver.common.keys...   3.frame切换   当你发现定位方法没问题,但定位不到元素时,该元素可能是存在于frame,你需要先切入frame后再定位元素   (1)switch_to.frame      切入frame...下载地址   http://ftp.mozilla.org/pub/firefox/releases/   chrome下载地址:   https://www.slimjet.com/chrome/google-chrome-old-version.php

    1.3K20

    web自动化 基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

    /python/ selenium-3.0.2 下载地址1:http://pan.baidu.com/s/1bFfY4Q 官方下载地址:https://pypi.python.org/pypi/selenium...火狐浏览器:47.0.2 geckodriver-v0.11.1-win64.zip 下载地址1:http://pan.baidu.com/s/1jI0SHTG 官方下载地址:https://...如果火狐浏览器不是安装在默认安装目录下,(例:D:\Program Files (x86)\Mozilla Firefox\),需要在path添加firefox.exe所在的安装目录,否则会报错,类似如下...,如果是按计划执行,可考虑调整计划的用例执行顺序,如果是按照单个用例的执行,可在runmode.conf配置文件按顺序添加全局初始化用例 5、的感觉:ui自动化这块用例之间或多或少会存在依赖,因为元素的查找依赖页面...2、PHP页面非本人编写,部分代码实现设计受其约束 pdf版本下载:[授客]基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架.pdf

    1.1K30

    手把手包教会_手把手地教是什么意思

    (Firefox)✨ 结语 前言 Selenium是一个用于web自动化测试的框架,使用Ajax请求数据的页面,会出现 sign ,token等密钥,如果考虑去激活成功教程可能花费的精力较多,所以考虑借助使用...serverWebDriverSelenium2(包括Selenium3)抛弃了SeleniumRC,而是使用WebDriver。...(3)验证是否安装完成✨ cmd窗口输入命令:python,出现版本信息等说明安装成功,且环境变量设置成功,如下: 如果在上一步,未勾选添加python至环境变量,输入python命令后会提示...(4)安装Selenium✨ cmd窗口输入命令:pip install selenium,安装最新版本的selenium 这安装过了会显示already已经存在了,查看一下selenium版本.../releases 这里选择目前最新的版本下载(浏览器为64位),如下: 如果按照后续步骤不能启动浏览器,可以尝试删除该版本的geckodriver下载更低的版本的geckodriver。

    1.6K20

    Selenium

    一、认识Selenium 1.什么是自动化测试 自动化测试指软件测试的自动化,预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。...2.2,Webdriver Selenium RC 浏览器运行 JavaScript 应用,会存在环境沙箱问题,而WebDriver可以跳出JavaScript的沙箱,针对不同的浏览器创建更健壮的,...客户端(也就是测试脚本),借助ComandExecutor发送HTTP请求给sever端(通信协议:The WebDriver Wire Protocol,HTTP request的body,会以WebDriver...二、环境搭建 这里使用的是:Chrome+Java(推荐) 1.下载chrome浏览器 下载链接已准备好????...,如果元素可以定位,继续执行;如果元素定位不到,它以轮询的方式不断的判断元素是否被定位到。

    17110

    自动化-Selenium 3-常用API(Python版)

    如图所示:带有标签的下拉菜单选择页面源码 1、使用Select类来处理下拉菜单 select = Select(driver.find_element_by_id('select-demo'))...,针对某一个元素,默认每隔一段时间检测该元素是否存在如果超过设定时间检测不到抛出异常。...expected_conditions 本章示例,我们使用expected_conditions类时对其进行了重命名,通过as关键字对其重命名为EC。...并调用presence_of_element_located()判断元素是否存在。 expected_conditions 提供一些预期条件的实现。 title_is 用于判断标题是否xx。...如果超出了设置的时长,元素还没有被加载抛NoSuchElementException异常。 implicitly_wait()方法来实现隐式等待,默认单位为秒。

    1.3K20

    Python爬虫之自动化测试Selenium#7

    如果用 find_elements() 方法,结果是列表类型,列表的每个节点是 WebElement 类型。...Selenium 打开页面后,它默认是父级 Frame 里面操作,而此时如果页面还有子 Frame,它是不能获取到子 Frame 里面的节点的。...所以,当页面包含子 Frame 时,如果获取子 Frame 的节点,需要先调用 switch_to.frame() 方法切换到对应的 Frame,然后再进行操作。 11....延时等待 Selenium ,get() 方法会在网页框架加载结束后结束执行,此时如果获取 page_source,可能并不是浏览器完全加载完成的页面,如果某些页面有额外的 Ajax 请求,我们在网页源代码也不一定能成功获取到...隐式等待 当使用隐式等待执行测试的时候,如果 Selenium 没有 DOM 中找到节点,将继续等待,超出设定时间后,抛出找不到节点的异常。

    17411

    《手把手教你》系列练习篇之9-python+ selenium自动化测试 -番外篇 - 最后一波

    通过time模块sleep进行代码的暂停,但是实际使用过程如果都以sleep进行控制严重影响了程序的运行。 2.1.1 参考代码1 # coding=utf-8?...当脚本执行到某个元素定位时,如果元素可以定位,继续执行;如果元素定位 不到,它将以轮询的方式不断地判断元素是否被定位到。...程序每隔xx秒看一眼,如果条件成立了,执行下一步,否则继续等待,直到超过设置的最长时间,然后抛出TimeoutException。...显式等待是你代码定义等待一定条件发生后再进一步执行你的代码。 A. 使用前,先引用相关库 B. 确定元素的定位表达式 C....以上代码执行后就发现,整段代码执行速度非常快,即使WebDriverWait设置10秒,也不会等待10秒的情况,因为不到一秒内,已经完成了加载并定位id为“kw”的元素。

    1.3K41
    领券