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. Django ORM常用的字段和参数

    ORM 常用字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. IntegerField 一个整数类 ...

  2. Hadoop_17_MapRduce_案例2_实现用户手机流量统计(ReduceTask并行度控制)

    需求:1.统计每一个用户(手机号)所耗费的总上行流量.下行流量,总流量 1.数据如下:保存为.dat文件(因为以\t切分数据,文件格式必须合适) 1363157985066 13726230503 0 ...

  3. 开启aix SFTP日志 是否和链接SFTP有关呢

    1.修改SSH配置 vi /etc/ssh/sshd_config 在sftp配置处添加-l INFO -f AUTH Subsystem sftp /usr/lib64/ssh/sftp-serve ...

  4. Java&Selenium&TestNG&ZTestReport 自动化测试并生成HTML自动化测试报告

    一.摘要 本篇博文将介绍如何借助ZTestReport和HTML模版,生成HTML测试报告的ZTestReport 源码Clone地址为 https://github.com/zhangfei1984 ...

  5. 用union 和 struct 位域操作

    很久没有用C 语言中的 union 和 struct 位域操作了. 最近用了一下(当然,我承认是从stackoverflow 上抄的) 需求是这样的,已知一个 LPARAM 整数 3866625 ,求 ...

  6. 移动端性能监控方案Hertz

    移动端性能监控方案Hertz 吴凯 瑞利 富强 徐宏 ·2016-12-19 16:10 性能问题是造成App用户流失的罪魁祸首之一.App的性能问题包括崩溃.网络请求错误或超时.响应速度慢.列表滚动 ...

  7. jsp+jstl实现登录验证

    <c:choose> <c:when test="${!sessionScope.user eq null}"> <li><a href= ...

  8. 4. CSS新特性之浏览器私有前缀

    1. 浏览器私有前缀 浏览器私有前缀是为了兼容老版本的写法,比较新版本的浏览器无需添加 -moz-:代表firefox浏览器私有属性 -ms-:代表ie浏览器私有属性 -webkit-:代表safar ...

  9. NodeList对象的特点

    nodeList对象的特点1,nodeList是一种类数组对象,用于保存一组有序的节点.2,通过方括号来访问nodeList的值,有item方法与length属性.3,它并不是Array的实例,没有数 ...

  10. ajax+批量下载文件

    用过浏览器的开发人员都对大文件上传与下载比较困扰,之前遇到了一个php文件夹上传下载的问题,无奈之下自己开发了一套文件上传控件,在这里分享一下.希望能对你有所帮助.此控件PC全平台支持包括mac,li ...