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. Linux内核移植的若干问题

  2. Java通过JDBC连接SQL Server2017数据库

    一.需要明白的基础知识 数据库名 驱动jar(x表示版本号) 具体驱动类 连接字符串(ip地址,端口号,名字) Oracle ojdbc-x.jar oracle.jdbc.oracleDriver ...

  3. iFrame跨域的方式

    4种通过iframe跨域与其他页面通信的方式 不同域下的iframe不能进行操作. 1.location.hash: 在url中,http://www.baidu.com#helloword的#hel ...

  4. solrcloud2

    分片的原因 由于底层Lucene的限制,每个solr索引中包含的文档数不能超过231个,大约是21亿个.但是solr分片一般不是基于这个的原因,因为一般没有到这个峰值的之后,solr的各中性能问题就暴 ...

  5. appium+python 【Mac】UI自动化测试封装框架介绍 <三>---脚本的执行

    我自己编写的脚本框架中,所有的脚本执行均放在一个py文件中,此文件作为启动文件执行,包含了运行此文件将执行脚本.分配设备端口.自启appium服务等. 详细的介绍待后期补充.

  6. CSS3 -- column 实现瀑布流布局

    本例使用 CSS column 实现瀑布流布局 关键点,column-count: 元素内容将被划分的最佳列数 关键点,break-inside: 避免在元素内部插入分页符 html div.g-co ...

  7. 16-SQLServer强制走索引

    一.注意点 1.使用with(index(索引名称))来使SQL强制走索引. 二.示例截图 1.创建非聚集索引 2.不使用with,不走索引的截图 3.使用with,强制走索引的截图

  8. Series拼接回DataFrame

    从这样的表,如何计算一行汇总层拼接回去

  9. spark-聚合算子aggregatebykey

    spark-聚合算子aggregatebykey Aggregate the values of each key, using given combine functions and a neutr ...

  10. 【csp模拟赛1】铁路网络 (network.cpp)

    [题目描述] 在暑假来临之际,小 Z 的地理老师布置了一个暑假作业,让同学们暑假期间 了解一下 C 国的铁路发展史.小 Z 在多番查证资料后发现,C 国在铁路发展初期, 铁路网络有着一个严密规整的结构 ...