python中Selenium键盘Ctrl+v操作,调试的时候可以成功实现,但正式运行的时候不成功
python源代码如下
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
# 导入时间包
from time import sleep
# 导入Keys包(键盘控制)
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get('https://www.csdn.net/')
# driver.get('https://blog.csdn.net/YON_dog')
sleep(1)
# 定位'会员中心'栏 find(找到) element(移动)
collect = driver.find_element(By.XPATH,'//*[@id="csdn-toolbar"]/div/div/div[3]/div/div[2]/a')
# 悬浮至'会员中心'标签处 move(移动) perform(执行)
ActionChains(driver).move_to_element(collect).perform()
sleep(1)
# 定位文本框并输入文本 send(发送) key(键)
driver.find_element(By.ID,'toolbar-search-input').send_keys('YON_dogs')
sleep(1)
# 模拟回车键进行跳转(输入内容后) ENTER(输入)
driver.find_element(By.ID,'toolbar-search-button').send_keys(Keys.ENTER)
sleep(1)
# 此时会打开一个新的页面,但代码并没有切换到最新页面中,所以标签定位会定位不到
# 获取打开的多个窗口句柄 handles(处理)
windows = driver.window_handles
# 切换到当前最新打开的窗口 switch(开关)
driver.switch_to.window(windows[-1])
sleep(1)
# 使用Backspace来删除一个字符 BACK_SPACE(退格)
driver.find_element(By.XPATH,'//*[@id="keyword"]').send_keys(Keys.BACK_SPACE)
sleep(1)
# Ctrl+A 全选输入框中的内容 CONTROL(控制)
driver.find_element(By.XPATH,'//*[@id="keyword"]').send_keys(Keys.CONTROL,'a')
sleep(1)
# Ctrl+C 复制输入框中的内容
driver.find_element(By.XPATH,'//*[@id="keyword"]').send_keys(Keys.CONTROL,'c')
sleep(1)
# Ctrl+V 粘贴输入框中的内容
driver.find_element(By.XPATH,'//*[@id="keyword"]').send_keys(Keys.CONTROL,'v')
sleep(1)
# 回车键
driver.find_element(By.XPATH,'//*[@id="keyword"]').send_keys(Keys.ENTER)
下面是调试截图
页面是能显示粘贴成功的,并且回车再次搜索时是以粘贴之后的内容进行搜索的
但在正式页面粘贴不成功,回车再次搜索时也是以粘贴之前的内容进行搜索
请问这是为什么呢?应该怎么解决呢?