[英]Using multiple send_keys() in Selenium Python not working
我正在使用Splinter和Python使網站自動化。 我可以在Selenium中使用send_keys()
方法,但一次不能發送多個密鑰,例如browser.driver.find_element_by_name('q').send_keys(Keys.CONTROL + 't')
沒有發生錯誤或異常,但是代碼無法按預期工作。
import time
from selenium import webdriver
from splinter import Browser
from selenium.webdriver.common.keys import Keys
executable_path = {'executable_path':'C:/Users/UserName/Downloads/chromedriver_win32/chromedriver.exe'}
options = webdriver.ChromeOptions()
options.add_argument("--start-maximized")
browser = Browser('chrome', **executable_path, options=options)
browser.visit('https://google.com/')
time.sleep(4)
#This is working
browser.driver.find_element_by_name('q').send_keys('hello world')
#This also works
browser.driver.find_element_by_name('q').send_keys(Keys.ENTER)
#Not working
browser.driver.find_element_by_name('q').send_keys(Keys.CONTROL + 't')
#Not working
browser.driver.find_element_by_name('body').send_keys(Keys.CONTROL + 'w')
我試過鏈接send_keys()
方法,但這似乎也不起作用。
#Not working
browser.driver.find_element_by_name('body').send_keys(Keys.CONTROL).send_keys('t')
此鏈接方法將引發以下異常:
Traceback (most recent call last):
File "C:/Python Automation/Test 1/swap.py", line 18, in <module>
browser.driver.find_element_by_name('q').send_keys(Keys.CONTROL).send_keys('t')
AttributeError: 'NoneType' object has no attribute 'send_keys'
是的,您不能在鏈中使用多個send_keys()
方法
chromedriver
目前不支持使用組合鍵
您可以嘗試使用例如Firefox
而不是Chrome
或以下解決方法:
driver.execute_script("window.open();")
打開新標簽頁而不是
browser.driver.find_element_by_name('q').send_keys(Keys.CONTROL + 't')
和
driver.close()
關閉標簽頁而不是
browser.driver.find_element_by_name('body').send_keys(Keys.CONTROL + 'w')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.