selenium操作

selenium模拟手机登陆:

from selenium import webdriver
import time

""" selenium模拟手机登陆 """

# 设置
mobilesetting={"deviceName": "iPhone X"}
chrome_options = webdriver.ChromeOptions()  # 选项
chrome_options.add_experimental_option('mobileEmulation',mobilesetting) # 模拟手机
driver = webdriver.Chrome(chrome_options=chrome_options) # 配置参数
driver.set_window_size(400,800) # 设置浏览器大小
# driver.maximize_window() # 全屏显示
driver.get("http://www.baidu.com")
time.sleep(5)
driver.get("http://www.taobao.com")
time.sleep(5)
driver.back() # 后退
time.sleep(5)
driver.forward() # 前进
time.sleep(5)
driver.refresh() # 刷新
time.sleep(5)
driver.quit()

selenium鼠标操作 :

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time

""" selenium鼠标操作 """

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
time.sleep(2)
action = driver.find_element_by_link_text('设置')
ActionChains(driver).move_to_element(action).perform() # 鼠标停留
ActionChains(driver).move_to_element(action).move_to_element(<element>) # 鼠标移动
ActionChains(driver).move_to_element(action).context_click() # 鼠标单击
ActionChains(driver).move_to_element(action).double_click() # 鼠标双击
ActionChains(driver).move_to_element(action).drag_and_drop(<element>) # 鼠标拖放
time.sleep(10)
driver.quit()

selenium键盘操作:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

""" selenium键盘操作 """

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
time.sleep(2)

# 模拟键盘输入“python”
driver.find_element_by_id("kw").send_keys("python")
driver.find_element_by_id("kw").submit() # 提交表单
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"a") # 模拟 ctrl+a
time.sleep(10)
driver.quit()
  • Keys.BACK_SPACE:删除键
  • Keys.SPACE:空格键
  • Keys.TAB:Tab键
  • Keys.ESCAPE:回退键
  • Keys.ENTER:回车键
  • Keys.CONTROL,”a”:组合键,Ctrl + A
  • Keys.CONTROL,”x”:组合键,Ctrl + X
  • Keys.CONTROL,”v”:组合键,Ctrl + V
  • Keys.CONTROL,”c”:组合键,Ctrl + C
  • Keys.F1:F1键
  • Keys.F12:F12键

selenium 显式等待,隐式等待:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait  # 等待一个元素加载完成
from selenium.webdriver.support import expected_conditions as EC  # 设置等待条件


""" selenium 显式等待,隐式等待 """

driver = webdriver.Chrome()

# 隐式等待
driver.implicitly_wait(20)  #
driver.get("http://www.baidu.com")

# 显式等待
# 显式等待         等待秒数   0.5秒检查一次可以不给,默认是0.5,属性名poll_frequency 检查频率
WebDriverWait(driver, 10, 1).until(EC.presence_of_element_located((By.ID, 'kw'))) # 传入tuple 或 list


隐式等待:此处的隐式等待是针对Driver 每次执行命令的 最长执行时间也可以理解为超时时间, 但是影响是全局的,每次Driver执行 找不到元素都会等待此处设置的时间,  假设某处将此值设置的太长,必须在执行完成之后还原回来,否则判断一个元素是否存在的时候,就会遇到很坑爹的问题。

显示等待:显示等待是表明某个条件成立后才执行获取元素的操作。也可以在等待的时候指定一个最大的时间,如果超过这个时间那么就抛出一个异常。显示等待应该使用selenium.webdriver.support.excepted_conditions期望的条件和selenium.webdriver.support.ui.WebDriverWait来配合完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值