Python用のセレンを使用して、ブラウザで新しいタブまたは新しいウィンドウを開こうとしています。新しいタブまたは新しいウィンドウが開いているかどうかはほとんど重要ではなく、ブラウザの 2 番目のインスタンスが開かれていることだけが重要です。
私はすでにいくつかの異なる方法を試しましたが、成功したものはありません。
存在しないウィンドウに切り替えて、そのウィンドウが見つからない場合に新しいウィンドウを開くことを期待しています。
driver.switch_to_window(None)
開いているウィンドウを反復処理する (ただし、現在は 1 つしかありません)
for handle in driver.window_handles: driver.switch_to_window(handle)
キーボードのキー押下をシミュレートしようとしています
from selenium.webdriver.common.keys import Keys driver.send_keys(Keys.CONTROL + 'T')
特にこれの問題は、次のような特定の要素にのみキーをブラウザに直接送信することができないように見えることでした:
driver.find_element_by_id('elementID').send_keys(Keys.CONTROL + 'T')
ただし、このようなコマンドが要素に送信されると、まったく何もしないように見えます。ページの最上位の HTML 要素を見つけてそこにキーを送信しようとしましたが、やはり失敗しました。
driver.find_element_by_id('wrapper').send_keys(Keys.CONTROL + 'T')
これの別のバージョンをオンラインで見つけましたが、インポートが必要なクラス/モジュールがわからないため、その有効性または欠如を確認できませんでした
act = ActionChains(driver)
act.key_down(browserKeys.CONTROL)
act.click("").perform()
act.key_up(browserKeys.CONTROL)
異なる構文で非常によく似たもの (これらのいずれかまたは両方が正しい構文かどうかはわかりません)
actions.key_down(Keys.CONTROL)
element.send_keys('t')
actions.key_up(Keys.CONTROL)