web自动化(三)鼠标操作&键盘

selenuim 键盘操作

import time

from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as  EC
from selenium.webdriver.support.wait import WebDriverWait
from selenium import  webdriver

web_driver=webdriver.Firefox()
web_driver.get("https://baidu.com")

el=(By.ID,"kw")
WebDriverWait(web_driver,10,2).until(EC.presence_of_element_located(el))
el_se=web_driver.find_element(*el)
el_se.send_keys("selenium")
time.sleep(5)

el_se.send_keys(Keys.CONTROL,"a")
time.sleep(5)
el_se.send_keys(Keys.CONTROL,"c")
time.sleep(5)
el_se.clear()
time.sleep(5)
el_se.send_keys(Keys.CONTROL,"v")
time.sleep(5)

web_driver.quit()

drissionpage 键盘操作

问题 page.actions.key_down(DrissionKeys.CTRL_A) 报错 AttributeError: ‘tuple’ object has no attribute ‘upper’

在这里插入图片描述
未找到解决方案

from DrissionPage import  WebPage
from DrissionPage.common import By as DrissionBy
from DrissionPage.common import Keys as DrissionKeys

page=WebPage("d")

page.get("https://baidu.com")
el=(DrissionBy.ID,"kw")
page.wait.eles_loaded(el,timeout=5)
el_se=page.ele(el)
el_se.input("drissionpage")


page.actions.key_down(DrissionKeys.CTRL_A)
time.sleep(5)
page.actions.key_down(DrissionKeys.CTRL_C)
time.sleep(5)
el_se.clear()
time.sleep(5)
page.actions.key_down(DrissionKeys.CTRL_V)

time.sleep(5)

page.quit()

selenuim 鼠标

import time

from selenium import  webdriver
from  selenium.webdriver import ActionChains
from selenium.webdriver.common.by import  By
driver=webdriver.Firefox()
driver.get("https://baidu.com")


time.sleep(5)
el=(By.ID,"s-usersetting-top")

el_se1=driver.find_element(*el)
#不管执行什么操作最后都需要perform
ActionChains(driver).move_to_element(el_se1).perform()
time.sleep(5)

el=(By.LINK_TEXT,"高级搜索")
el_se2=driver.find_element(*el)

el_se2.click()

time.sleep(5)

driver.quit()

drissionpage 鼠标

from DrissionPage import  WebPage
from DrissionPage.common import By as DrissionBy
page=WebPage("d")
page.get("https://baidu.com")

el=(DrissionBy.ID,"s-usersetting-top")
el_se=page.ele(el)
page.actions.move_to(el_se)
time.sleep(5)
# el=(DrissionBy.LINK_TEXT,"高级搜索")
#<a href="//www.baidu.com/gaoji/advanced.html" target="_blank"><span class="set">高级搜索</span></a>
#这种的无法使用(DrissionBy.LINK_TEXT,"高级搜索") 去匹配
el=(DrissionBy.XPATH,'//*[@id="s-user-setting-menu"]/div/a[2]')
el_se2=page.ele(el)
# el_se2.click()
page.actions.click(el_se2)
time.sleep(5)

page.quit()
  • 13
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值