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. golang shell 交叉编译

    #!/usr/bin/env bash set -e uname_s=`uname -s | awk '{print tolower($0)}'` uname_m=`uname -m` timeTag ...

  2. java 中操作字符串都有哪些类?(未完成)它们之间有什么区别?(未完成)

    java 中操作字符串都有哪些类?(未完成)它们之间有什么区别?(未完成)

  3. 牛客小白月赛19 E 「火」烈火燎原 (思维,树)

    牛客小白月赛19 E 「火」烈火燎原 (思维,树) 链接:https://ac.nowcoder.com/acm/contest/2272/E来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空 ...

  4. P4016 负载平衡问题(最小费用最大流)

    P4016 负载平衡问题 题目描述 GG 公司有 nn 个沿铁路运输线环形排列的仓库,每个仓库存储的货物数量不等.如何用最少搬运量可以使 nn 个仓库的库存数量相同.搬运货物时,只能在相邻的仓库之间搬 ...

  5. ndk学习之C语言基础复习----基本数据类型、数组

    关于NDK这个分类在N年前就已经创建了,但是一直木有系统的记录其学习过程,当然也没真正学会NDK的技术真谛,所以一直也是自己的一个遗憾,而如今对于Android程序员的要求也是越来越高,对于NDK也是 ...

  6. 如何发布一个npm包?

    npm包在现在前端开发中经常使用且便利,而我也是经常使用,而没研究怎么去发布npm.那如何发布npm包呢? 一.在npm的官网上注册一个账号登录,https://www.npmjs.com/ 注意此步 ...

  7. python+Appium自动化:toast定位

    Toast简介 Toast是一种简易的消息提示框. 当视图显示给用户,在应用程序中显示为浮动.和Dialog不一样的是,它永远不会获得焦点,无法被点击. 用户将可能是在中间键入别的东西.Toast类的 ...

  8. 软件测试能满足测试的sql

    作为一个软件测试工程师,我们在测试过程中往往需要对数据库数据进行操作,但是我们的操作大多以查询居多,有时会涉及到新增,修改,删除等操作,所以我们其实并不需要对数据库的操作有特别深入的了解,以下是我在工 ...

  9. C# 继承(3)持续更新

    类继承 和 接口继承 类继承        一个类型派生于一个基类行,它拥有该基类型的所有成员字段和函数. 接口继承     一个类型继承函数的签名,不需要实现代码. 多重继承 一个类派生自多个类.多 ...

  10. Java 正则表达式获取两个字符中间的内容

    利用 正则表达式 获取两个字符串中间的值 直接上代码吧,不是很难. public static void main(String[] args) { // 内容 String value = &quo ...