Selenium WebDriver & Pythonを使用して、かなりの数のURLを別のタブで開きたいとします。Seleniumは新しいタブ(PythonとChrome)で新しいURLを開けません
私が間違って何が起こっているかわからない:
driver = webdriver.Chrome()
driver.get(url1)
time.sleep(5)
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL+'t')
url2 = 'https://www.google.com'
driver.get(item2)
私はチュートリアルを見て、このコードは私が望む何をすべきかのように、それは私には思えます。実際に何が起きるかは、ブラウザが開いてurl1が開きます。新しいタブが開きます。しかし url2は新しいタブの代わりに元のタブに読み込まれます(新しいタブはアクティブなように見えます)。
(私はChromeを使用しているため、Firefoxを使用してもURLをロードできないため、Firefoxは開きますがリクエストされたURLは取得できません。 )
新しいタブで新しいURLを開くために私のコードで変更できることはありますか?
ありがとうございました!
作業からCTRL /コマンド+ Tを防止ChromeDriverにはバグがあり
ありがとうございましたが、このバグは新しいタブをまったく開いていないCtrlキーのようです。私は新しいタブを開くことができますが、そのタブにURLをロードしません。私はあなたのコードを試しましたが、おそらくそれを正しく理解していません。 find_element_by_link行にエラーがありました(要素を見つけることができません)。私はhtmlページ(ページソース)を読み込んでいますが、違いがあるかどうかはわかりません。 – SamH123
@ SamH123あなたの場合は、新しいタブを開いた後に 'driver.switch_to.window(driver.window_handles [-1])'を実行するだけです。 – alecxe
ありがとう、それは働いています! – SamH123