问答 macos 下使用 selenium 的键盘操作,无反应

test · 2022年04月22日 · 最后由 test 回复于 2022年04月25日 · 5300 次阅读

各位大佬好,我的 macos 操作 selenium 的键盘操作 CONTROL,类型的操作不生效,但是也不报错,ENTER 回车就好使
selenium: 4.1.3
macos: 11.6.1(非 m1)
python3: 3.9.0

第一次是使用的这种方法,没有报错,正常输入selenium,全选,剪切,粘贴操作不生效,回车生效

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

driver = webdriver.Chrome()
driver.maximize_window()
driver.get('http://www.baidu.com')
driver.find_element(By.CSS_SELECTOR, '#kw').send_keys('selenium')
time.sleep(1)
driver.find_element(By.CSS_SELECTOR, '#kw').send_keys(Keys.CONTROL,'a')
time.sleep(1)
driver.find_element(By.CSS_SELECTOR, '#kw').send_keys(Keys.CONTROL,'x')
time.sleep(1)
driver.find_element(By.CSS_SELECTOR, '#kw').send_keys(Keys.CONTROL,'c')
time.sleep(1)
driver.find_element(By.CSS_SELECTOR, '#kw').send_keys(Keys.ENTER)

代码截图
结果截图


后来百度后使用这种方法,和之前一样的,没有报错,正常输入selenium,全选,剪切,粘贴操作不生效,回车生效

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

driver = webdriver.Chrome()
driver.maximize_window()
driver.get('http://www.baidu.com')
a = driver.find_element(By.CSS_SELECTOR, '#kw')
a.send_keys('selenium')
time.sleep(1)
webdriver.ActionChains(driver).key_down(Keys.CONTROL).send_keys("a").perform()
time.sleep(1)
webdriver.ActionChains(driver).key_down(Keys.CONTROL).send_keys("x").perform()
time.sleep(1)
webdriver.ActionChains(driver).key_down(Keys.CONTROL).send_keys("v").perform()
time.sleep(1)
driver.find_element(By.CSS_SELECTOR, '#kw').send_keys(Keys.ENTER)

代码截图
运行结果截图

查了好些时间,也没有一点头绪,有没有那个大佬遇到过同样或者类似的问题,能提供一下思路或者结果方案的嘛.谢谢

共收到 4 条回复 时间 点赞

额,要不要尝试一下在全选之前先点击一下输入框?获取焦点?然后 send_keys(Keys.COMMAND, 'a')?

driver.find_element(By.CSS_SELECTOR, '#kw').send_keys(Keys.CONTROL,'a')

用 COMMAND 不用 CONTROL

driver.find_element(By.CSS_SELECTOR, '#kw').send_keys(Keys.COMMAND,'a')

test #3 · 2022年04月25日 Author

谢谢大佬.

test #4 · 2022年04月25日 Author

嗯嗯,谢谢大佬

test 关闭了讨论 04月25日 11:15
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册