我使用硒的经验很少,并且无法弄清楚为什么我尝试使用的快捷方式不起作用。我知道有多种方法可以完成我想要做的事情,例如通过执行 js 片段,但我很感兴趣键盘按键到底出了什么问题。
Chrome 版本:122.0.6261.70(官方版本)(64 位) 硒版本4.18.1
代码:
这工作正常(简单的文本输入):
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get("https://google.com")
input_element = driver.find_element(By.CLASS_NAME, "gLFyf")
input_element.send_keys("test")
time.sleep(10)
这也工作正常(插入“测试”):
input_element.send_keys(Keys.SHIFT + "test")
这不起作用:
input_element = driver.find_element(By.CLASS_NAME, "gLFyf")
input_element.send_keys(Keys.CONTROL + "t") # t,j,w,r and other keys
这不起作用
ActionChains(driver).key_down(Keys.CONTROL).send_keys("t").key_up(
Keys.CONTROL
).perform()
这也不起作用:
driver.find_element(By.TAG_NAME, "body").send_keys(Keys.CONTROL, "t")
我也尝试过,但没有帮助:
ps 感谢任何帮助,我花了几个小时寻找解决方案但没有成功
你可以使用xpath来捕获它:
textarea = driver.find_element(By.XPATH, "//textarea[@class='gLFyf']")
textarea.send_keys("Your text here")