1、文本框输入内容

from selenium import webdriver
driver = webdriver.Chrome(r"C:\Users\Administrator\Desktop\cc\chromedriver")
driver.get("https://www.ctrip.com/?sid=155952&allianceid=4897&ouid=index")

driver.find_element_by_id("").clear() #清空输入框
driver.find_element_by_xpath("//input[@id='HD_CityName']").send_keys("黄山") #输入框输入“黄山”
driver.find_element_by_id("").send_keys("黄山") #输入框输入“黄山”

2、下拉菜单

#from selenium.webdriver.support.ui import Select

from selenium.webdriver.support.select import Select
from selenium import webdriver

driver = webdriver.Chrome(r"C:\Users\Administrator\Desktop\cc\chromedriver")
driver.get("https://www.ctrip.com/?sid=155952&allianceid=4897&ouid=index")

s1 = Select(driver.find_element_by_id('s1Id')) # 实例化Select

① 正选:
s1.select_by_index(index) #按下拉菜单的位置选择,从0开始
s1.select_by_value(value) #按下拉菜单的内容选择,页面中option标签的值
s1.select_by_visible_text(text) #按下来菜单的显示文本内容选择

② 反选
s1.deselect_by_index(index) #按下拉菜单的位置取消选择,从0开始
s1.deselect_by_value(value) #按下拉菜单的内容取消选择,页面中option标签的值
s1.deselect_by_visible_text(text) #按下来菜单的显示文本内容取消选择
s1.deselect_all() #取消全部已选择

③ 选项
options #所有选项(包含已选和未选)
all_selected_options #所有已选的选项
first_selected_option #第一个被选中的option

3、滑动滚动条

from selenium import webdriver
driver = webdriver.Chrome(r"C:\Users\Administrator\Desktop\cc\chromedriver")
driver.get("https://www.ctrip.com/?sid=155952&allianceid=4897&ouid=index")

# 移动到元素element对象的“顶端”与当前窗口的“顶部”对齐  
element=driver.find_element_by_link_text('下一页') 
driver.execute_script("arguments[0].scrollIntoView();", element)
driver.execute_script("arguments[0].scrollIntoView(true);", element)

# 移动到元素element对象的“底端”与当前窗口的“底部”对齐  
driver.execute_script("arguments[0].scrollIntoView(false);", element)

# 移动到页面最底部  
driver.execute_script("window.scrollTo(0, document.body.scrollHeight)")

# 移动到指定的坐标(相对当前的坐标移动)
driver.execute_script("window.scrollBy(0, 700)")
# 结合上面的scrollBy语句,相当于移动到700+800=1600像素位置  
driver.execute_script("window.scrollBy(0, 800)")

# 移动到窗口绝对位置坐标,如下移动到纵坐标1600像素位置  
driver.execute_script("window.scrollTo(0, 1600)")
# 结合上面的scrollTo语句,仍然移动到纵坐标1200像素位置  
driver.execute_script("window.scrollTo(0, 1200)")

4、点击、关闭游标、关闭浏览器

from selenium import webdriver

driver = webdriver.Chrome(r"C:\Users\Administrator\Desktop\cc\chromedriver")
driver.get("https://www.ctrip.com/?sid=155952&allianceid=4897&ouid=index")

driver.click() #点击
driver.quit() #关闭浏览器
driver.close() #关闭游标

#被控件遮挡无法触发点击事件时,使用以下方法点击
driver.execute_script('arguments[0].click()',browser.find_element_by_id("isStudentDan") )

assert "百度一下" in driver.page_source #断言,百度一下在网页里面,成功无报错,失败报错

selenium 常见事件操作的更多相关文章

  1. selenium 鼠标事件操作

    1.操作鼠标事件的类:ActionChains  perform()  执行所有ActionChains中存储的行为 context_click()  右击 double_click()   双击 d ...

  2. python+selenium 鼠标事件操作

    一.前言 除了可以使用 click( ) 来模拟鼠标的单击操作,现在Web产品中还提供了更丰富的鼠标交互方式,例如鼠标右键.双击.悬停.拖动等功能,在WebDriver中,将这些关于鼠标操作的方法都封 ...

  3. jquery api 常见 事件操作

    change.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html ...

  4. [python爬虫] Selenium常见元素定位方法和操作的学习介绍

    这篇文章主要Selenium+Python自动测试或爬虫中的常见定位方法.鼠标操作.键盘操作介绍,希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~同时CSDN总是屏蔽这篇文章,再加上最近 ...

  5. Selenium常见元素定位方法和操作的学习介绍

    参考地址: https://www.cnblogs.com/eastmount/p/4810690.html 这篇文章主要Selenium+Python自动测试或爬虫中的常见定位方法.鼠标操作.键盘操 ...

  6. 微软出品自动化神器【Playwright+Java】系列(五) 之 常见点击事件操作

    写在前面 明天就是周五了,这周有那么一两天心情特别不好,真的是做什么都没兴致,所以导致整个人都很丧,什么都不想做. 本打算周一就更新这篇文章的,但由于公司一直加班,每天到家很晚,都是挤时间去学,理解后 ...

  7. Selenium4.0+Python3系列(四) - 常见元素操作(含鼠标键盘事件)

    一.写在前面 上篇文章介绍的是关于浏览器的常见操作,接下来,我们将继续分享关于元素的常见操作,建议收藏.转发! 二.元素的状态 在操作元素之前,我们需要了解元素的常见状态. 1.常见元素状态判断,傻傻 ...

  8. Selenium 定位页面元素 以及总结页面常见的元素 以及总结用户常见的操作

    1. Selenium常见的定位页面元素 2.页面常见的元素 3. 用户常见的操作 1. Selenium常见的定位页面元素 driver.findElement(By.id());driver.fi ...

  9. [python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)

    转载地址:[python爬虫] Selenium常见元素定位方法和操作的学习介绍 一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locat ...

随机推荐

  1. XXX_initcall()函数分析

    1. 先看这些宏的定义(定义在文件include/linux/init.h中) #define pure_initcall(fn) __define_initcall("0",fn ...

  2. CAFFE(FAQ.1):Ubuntu 配置caffe 框架之数据库读取错误:ImportError: No module named lmdb解决办法

    Z: 在安装了caffe框架后需要读取大量的数据进行学习训练.比如在MNIST识别训练中,一般直接读图片会比较耗时,我们一般将图片转存为数据库中.目前主流的数据库有以下两种选择: LevelDB Lm ...

  3. 原生js为页面添加爱心特效和判断手机端还是电脑端登录

    <!-- 为页面添加爱心特效 --> <script type="text/javascript"> (function (window, document ...

  4. java——jdbc调用存储过程

    1,加载驱动: 2,获取连接 3,设置参数 4,执行: 5,释放连接 普通jdbc的执行过程: conn.prepareCall() 上面是一个调用存储过程的示例.

  5. Python&Selenium智能等待方法封装

    摘要:本篇博文用几行代码展示Python和Selenium做自动化测试时常见的显示等待和封装 # 用于实现智能等待页面元素的出现 # encoding = utf-8 ""&quo ...

  6. 使用Xcode Instruments定位APP稳定性问题

    Xcode Instruments提供了各种各样的工具用来定位APP的各种稳定性问题.这里简单总结几个问题: 1. 内存泄漏 Xcode->Open Developer Tools->In ...

  7. html z-index

    如果你的悬浮的div被其他遮挡  那应该是遮挡的元素与它不是同级  可以考虑放在同一个父级目录下

  8. CF15E Triangles

    思路 有四种方法,L,R,L->R,只走上面的小三角形 然后组合方案数\(2f^2+8f+10\) 然后求f,递推一下就好啦(其实是太麻烦了) 时间和空间复杂度都是\(O(n)\) 代码 #in ...

  9. crontab踩坑(二):Unit crond.service could not be found.

    这是因为Ubuntu上的服务名称是cron不是crond.所以你的命令应该是: sudo service cron start

  10. 【Android-布局复用】 多个界面复用一个布局文件(二)

    多个界面复用一个布局界面 ,如何找到复用布局文件中的控件的id? 举个栗子: 1.  layout_common.xml 复用的布局文件,如何找到button 的id? <?xml versio ...