Selenium 基础知识(三):特殊元素定位

1. 鼠标悬停操作

1.1 常用方法
  1. click():模拟鼠标单击操作
  2. click_and_hold():模拟鼠标单击并且按住不放
  3. double_click():模拟鼠标双击
  4. context_click():模拟鼠标右击操作
  5. drag_and_drop(source,target):模拟鼠标拖曳
  6. drag_and_drop(source,xoffset,yoffset):模拟将鼠标拖曳到目标位置
  7. key_down():模拟按住某个键,实现快捷键操作
  8. key_up():模拟松开某个键,一般和key_down操作一起使用
  9. move_to_element():模拟将鼠标移到指定的某个页面元素
  10. move_to_element_with_offset(to_element,xoffset,yoffset):移到鼠标至指定的坐标
  11. perform():将之前一系列的ActionsChains执行
  12. release():释放按下的鼠标
1.2 举例
#coding=utf-8
from selenium import webdriver
from  selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://www.baidu.com')

#鼠标悬停操作-搜索设置
#bg_config = driver.find_elements_by_link_text("设置")#提示找不到“位置”,用以下方法
bg_config = driver.find_element_by_id("s-usersetting-top")
ActionChains(driver).move_to_element(bg_config).perform()
driver.find_element_by_link_text("搜索设置").click()

2. Select操作

2.1 选择Select元素的值的方法
#导入Select类
from selenium.webdriver.support.select import Select

se = driver.find_element_by_id("nr")

#1.通过“select_by_index”方式获取下拉框选项
Select(se).select_by_index(1)#索引从0开始

#2.通过“select_by_value”方式获取下拉框选项
Select(se).select_by_value("20")

#3.通过“select_by_visible_text”方式获取下拉框选项
Select(se).select_by_visible_text("每页显示20)
2.2 返回选项(options)的操作方法
#options方法
se = driver.find_element_by_id("nr")
Select(se).select_by_visible_text("每页显示20条”)

#1.options方法:
ops = Select(se).options
for i in ops:
    print(i.text)

#2.all_selected_options方法:
ops =  Select(se).all_selected_options
for i in ops:
    print(i.text)

#3.first_selected_option
ops = Select(se).first_selected_option
print(ops.text)

3. JavaScript操作页面元素

#coding=utf-8
from selenium import webdriver

driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://www.baidu.com')

#js用法
js = "document.getElementById('kw').value = 'selenium'"
driver.execute_script(js)

#设置浏览器窗口大小,目的是让滚动条显示出来
driver.set_window_size(800,700)
driver.find_element_by_id('kw').send_keys("selenium")
driver.find_element_by_id('su').click()
js = "window.scrollTo(100,300)"
#js = "window.scrollTo(0,document.body.scrolllHeight)"#滚动条滑到底部,未实现
driver.execute_script(js)

4. jQuery操作页面元素

#coding=utf-8
from selenium import webdriver

driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://www.baidu.com')

jq = "$('#kw').val('selenium')"
driver.execute_script(jq)
jq = "$('#su').click()"
driver.execute_script(jq)

5. 常用的鼠标事件

5.1 常用操作
  1. double_click():鼠标双击操作
  2. context_click():鼠标右击操作
  3. drag_and_drop():鼠标拖曳操作
  4. move_to_element():鼠标悬停操作
5.2 举例
#coding=utf-8
from selenium import webdriver
from selenium.webdriver import ActionChains
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.maximize_window()
element = driver.find_element_by_link_text(u"新闻")#u:utf-8默认在string前面加u,可不加

#鼠标右击
ActionChains(driver).context_click(element).perform()

#鼠标双击
ActionChains(driver).double_click(element).perform()

6. 常用键盘事件

6.1 常用键盘事件
  1. Keys.BACK_SPACE:删除键
  2. Keys.SPACE:空格键
  3. Keys.TAB:Tab键
  4. Keys.ESCAPE:回退键
  5. Keys.ENTER:回车键
  6. Keys.CONTROL,“a”:组合键 Ctrl + A
  7. Keys.CONTROL,“x”:组合键 Ctrl + X
  8. Keys.CONTROL,“v”:组合键 Ctrl + V
  9. Keys.CONTROL,“c”:组合键 Ctrl + C
  10. Keys.F1:F1键
  11. Keys.F12:F12键
6.2 举例
#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.implicitly_wait(10)
driver.maximize_window()
driver.find_element_by_id('kw').send_keys("SeleniumTest" + Keys.BACK_SPACE)
driver.find_element_by_id('kw').send_keys(Keys.BACK_SPACE)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sansa Wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值