Selenium Web テスターを使用して、Keys.DELETE キーストロークをテキスト フィールドに送るにはどうすればよいでしょうか。インタラクティブな自動提案機能をテストするために、ユーザーがフィールドに入力し、入力したものを削除する操作をシミュレートしようとしています。クエリで始まる項目にリストをフィルターし、ユーザーがクエリを削除すると、すべての可能な提案が再び表示されるはずです。残念ながら、.clear() を送信しても、リストのフィルターが解除されません。send_keys('\127') も同様です。
def get_suggestions():
driver.get('https://www.example.com/')
driver.find_element_by_css_selector('#searchQuery').click()
driver.find_element_by_css_selector('#searchQuery').send_keys('a')
sleep(0.5)
driver.find_element_by_css_selector('#searchQuery').send_keys(Keys.DELETE)
sleep(0.5)
for suggestion in driver.find_elements_by_css_selector('#search-form #suggestions'):
yield suggestion
ユーザーがキーボードの削除ボタンを押す動作をシミュレートするにはどうすればよいでしょうか?
ベストアンサー1
カーソルの前の文字を削除する場合は、Keys.BACKSPACE
の代わりにを使用する必要があります。 は、カーソルの後の文字を削除するために使用されます。Keys.DELETE
Keys.DELETE
次のインポートを使用していることを確認してください。
from selenium.webdriver.common.keys import Keys