2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > python下拉菜单_python-web自动化:下拉列表操作

python下拉菜单_python-web自动化:下拉列表操作

时间:2019-03-18 21:02:42

相关推荐

python下拉菜单_python-web自动化:下拉列表操作

非select/option元素:

1.触发下拉列表出现

2.等待下拉列表中的元素出现,然后进行选择元素即可。

select/option元素:

下拉框操作-Select类

selenium提供Select类来处理select/option

1.引入

from selenium.webdriver.support.ui import Select

2.创建Select对象,传入元素

ele = driver.find_element_by_xpath(元素定位表达式)

s = Select(ele)

3.选择下拉列表值:

s.select_by_value(value值) #通过value

s.select_by_index(index) #通过下标

s.select_by_visible_text(文本') #通过文本

from selenium import webdriver

from mon.action_chains import ActionChains as AC

from selenium.webdriver.support.wait import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

from mon.by import By

import time

from selenium.webdriver.support.ui import Select

driver = webdriver.Chrome()

driver.get('/')

time.sleep(3)

# 百度首页,设置链接元素定位

ele = driver.find_element(By.XPATH,"//div[@id='u1']/a[text()='设置']")

# 对设置链接进行鼠标悬浮操作

AC(driver).move_to_element(ele).perform()

# 设置下拉框中选择【高级搜索】,浮窗下拉列表可用click进行点击操作

WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.XPATH,"//a[text()='高级搜索']")))

driver.find_element_by_xpath("//a[text()='高级搜索']").click()

# 等待高级设置搜索页面可见

WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.XPATH,'//select[@name="ft"]')))

# 创建Select对象,参数为元素

ele = driver.find_element_by_xpath('//select[@name="ft"]')

s = Select(ele)

s.select_by_value('xls') #通过value

time.sleep(2)

s.select_by_index(1) #通过下标

time.sleep(2)

s.select_by_visible_text('RTF 文件 (.rtf)') #通过文本

补充!!

如何定位悬浮下拉列表

以百度首页为例子,在右上角有设置按钮,鼠标放在设置按钮上,会悬浮显示下拉列表

selenium定位悬浮列表的内容时,需要先定位到设置按钮,然后再按 shift+ctrl+c 定位下拉列表

Web自动化 - 选择操作元素 2

文章转自 白月黑羽教Python 前面我们看到了根据 id.class属性.tag名 选择元素. 如果我们要选择的 元素 没有id.class 属性, 这时候我们通常可以通过 CSS selector ...

【Python web自动化】之读取配置文件参数,利用cookie返回值进行跳过验证码进行登录操作

当进行Python的Web自动化时,会涉及到验证码问题,该如何跳过执行呢,下面请看代码: 1.首先新建配置文件*.ini格式 config.ini [db] #基础地址: baseurl = http ...

Selenium基于Python web自动化基础一 -- 基础汇总及简单操作

Selenium是UI层WEB端的自动化测试框架,也是目前市面上比较流行的自动化测试框架. ui层自动化测试本质是什么?模拟用户的真实操作行为. 基础汇总: 导入所需要的模块 from seleniu ...

Web自动化 - 选择操作元素 1

文章转自 白月黑羽教Python 所有的 UI (用户界面)操作 的自动化,都需要选择界面元素. 选择界面元素就是:先让程序能找到你要操作的界面元素. 先找到元素,才能操作元素. 选择元素的方法 程序 ...

python - web自动化测试 - 元素操作 - 鼠标键盘

# -*- coding:utf-8 -*- ''' @project: web学习 @author: Jimmy @file: 鼠标操作.py @ide: PyCharm Community Edi ...

python - web自动化测试 - 元素操作 - 窗口切换

# -*- coding:utf-8 -*- ''' @project: web学习 @author: Jimmy @file: 元素操作-切换.py @ide: PyCharm Community ...

python - web自动化测试 - 元素操作 - 等待

# -*- coding:utf-8 -*- ''' @project: web学习 @author: Jimmy @file: wait.py @ide: PyCharm Community Edi ...

python - web自动化测试 - 元素操作 - 定位

# -*- coding:utf-8 -*- ''' @project: web学习 @author: Jimmy @file: find_ele.py @ide: PyCharm Community ...

web自动化 -- js操作(滑动屏幕、修改页面)

一.selenium对 js 的操作方法 1.先定义 js操作 或者 定义 目标元素 2.执行 js 操作: driver.execute_script(js操作) 或者 ...

python web自动化上传文件工具

工具下载地址:链接:/s/1cHdNHW 密码:56bp说明:1.WinSpy-1.0.2.7z解压即可.2.pywin32的exe程序,根据自己安装的pyt ...

随机推荐

JAVA 1.5 运算符

1. 关系运算符:大于(>).小于(<).等于(==).不等于(!=).大于等于(>=).小于等于(<=),关系运算的结果是个boolean值.2. 逻辑运算符:重点讲解两个, ...

angularjs的&dollar;on、&dollar;emit、&dollar;broadcast

如何在作用域之间通信呢? 1.创建一个单例服务,然后通过这个服务处理所有子作用域的通信. 2.通过作用域中的事件处理通信.但是这种方法有一些限制:例如,你并不能广泛的将事件传播到所有监控的作用域中.你 ...

Java hour5

有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. 本文作者Java 现经验约为4 Hour,请各位不吝赐教. Hour5 神一样 ...

EFI脚本

/en-us/articles/efi-shells-and-scripting

python版本与编码的区别

主要编码介绍 python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill) ASCII(American Standard Code for Information Inte ...

pycharm创建Flask项目&comma;jinja自动补全&comma;flask智能提示

pycharm创建Flask项目,jinja自动补全,flask智能提示 之前一直都是用在idea里创建空项目然后导入,之后就没有各种的智能提示,在选择文类,选择模板之类的地方就会很麻烦. 步骤1:用 ...

《HelloGitHub月刊》第 11 期

第 11 期 兴趣是最好的老师,就是帮你找到兴趣! 简介 最开始我只是想把自己在浏览 GitHub 过程中,发现的有意思.高 ...

Lintcode12-Min Stack-Easy

2.Min Stack Implement a stack with following functions: push(val)push val into the stack pop()pop ...

微信小程序:java后台获取openId

一.功能描述 openId是某个微信账户对应某个小程序或者公众号的唯一标识,但openId必须经过后台解密才能获取(之前实现过前台解密,可是由于微信小程序的种种限制,前台解密无法在小程序发布后使用) ...

javascript 获取鼠标在盒子中的坐标

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。