Selenium と Python を使用してテキスト フィールドに DELETE キーストロークを送信するにはどうすればよいでしょうか? 質問する

Selenium と Python を使用してテキスト フィールドに DELETE キーストロークを送信するにはどうすればよいでしょうか? 質問する

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.DELETEKeys.DELETE

次のインポートを使用していることを確認してください。

from selenium.webdriver.common.keys import Keys

おすすめ記事