質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Microsoft Edge

Microsoft Edgeは、マイクロソフト社が開発する新しいWebブラウザです。Windows 10から標準搭載されており、Internet Explorerとは違うレンダリングエンジンが採用されています。

Internet Explorer

Internet Explorer(IE;MSIE)はマイクロソフトが開発したウェブブラウザです。Microsoft Windowsに組み込まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Q&A

解決済

1回答

10247閲覧

[Selenium]EdgeのIEモードで新しいタブがポップアップブロックされる

mamegorou

総合スコア6

Microsoft Edge

Microsoft Edgeは、マイクロソフト社が開発する新しいWebブラウザです。Windows 10から標準搭載されており、Internet Explorerとは違うレンダリングエンジンが採用されています。

Internet Explorer

Internet Explorer(IE;MSIE)はマイクロソフトが開発したウェブブラウザです。Microsoft Windowsに組み込まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

0グッド

0クリップ

投稿2021/12/18 06:51

前提・実現したいこと

SeleniumでEdgeのIeモードを動かしています。
新しいタブを開きたいのですが、ポップアップブロッカーによって開けません。
解決方法を教えて下さい。

発生している問題・エラーメッセージ

新しいタブを開こうとすると、URLの右側に「ポップアップがブロックされました」と表示され、タブが開けません。

イメージ説明

該当のソースコード

python

1from selenium import webdriver 2from selenium.webdriver.chrome import service as fs 3import time 4from winreg import * 5 6ie_options = webdriver.IeOptions() 7ie_options.attach_to_edge_chrome = True 8ie_options.ignore_zoom_level = True 9ie_options.edge_executable_path = "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe" 10 11#レジストリのPopupMgr値を変更 12def set_popupblocker_status(enabled): 13 key = OpenKey(HKEY_CURRENT_USER, r"Software\Microsoft\Internet Explorer\New Windows", 0, KEY_ALL_ACCESS) 14 SetValueEx(key, "PopupMgr", 0, REG_SZ, enabled) 15 CloseKey(key) 16 17try: 18 #レジストリ変更 19 set_popupblocker_status("no") 20 21 #ブラウザを開く(EdgeのIeモード) 22 ie_service = fs.Service(executable_path="IE driverがあるパス") 23 driver = webdriver.Ie(service=ie_service,options=ie_options) 24 25 #googleトップページに移動 26 driver.get("https://www.google.com/webhp?hl=ja&sa=X&ved=0ahUKEwjn7YH9zez0AhV3s1YBHR7lDX0QPAgI&safe=active&ssui=on") 27 28 #新しいタブでyahooトップ画面を開く 29 driver.execute_script("window.open('https://www.yahoo.co.jp/');") 30 31 time.sleep(5) 32 33finally: 34 driver.quit() 35 print("finished")

試したこと

①レジストリのPopupMgr値を変更
↓こちらの記事を参考に、レジストリの値を変更してポップアップブロックを無効にする方法を試しましたが、やはりブロックされてしまいます。

https://zenn.dev/dozo/articles/8c604e5b6f418e

https://tarunlalwani.com/post/selenium-disable-popup-blocker-different-browsers/

②driver.get()を行わない
試行錯誤の結果、新しいタブを開く前に一回でもdriver.get()を行うと本事象が発生することが分かりました。試しにdriver.get()の部分をコメントアウトして実行すると、ポップアップブロックはされず、新しいタブを開くことができました。

python

1from selenium import webdriver 2from selenium.webdriver.chrome import service as fs 3import time 4from winreg import * 5 6ie_options = webdriver.IeOptions() 7ie_options.attach_to_edge_chrome = True 8ie_options.ignore_zoom_level = True 9ie_options.edge_executable_path = "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe" 10 11#レジストリのPopupMgr値を変更 12def set_popupblocker_status(enabled): 13 key = OpenKey(HKEY_CURRENT_USER, r"Software\Microsoft\Internet Explorer\New Windows", 0, KEY_ALL_ACCESS) 14 SetValueEx(key, "PopupMgr", 0, REG_SZ, enabled) 15 CloseKey(key) 16 17try: 18 #レジストリ変更 19 set_popupblocker_status("no") 20 21 #ブラウザを開く(EdgeのIeモード) 22 ie_service = fs.Service(executable_path="IE driverがあるパス") 23 driver = webdriver.Ie(service=ie_service,options=ie_options) 24 25 #googleトップページに移動 ←を行わないと新しいタブが開ける 26 #driver.get("https://www.google.com/webhp?hl=ja&sa=X&ved=0ahUKEwjn7YH9zez0AhV3s1YBHR7lDX0QPAgI&safe=active&ssui=on") 27 28 #新しいタブでyahooトップ画面を開く 29 driver.execute_script("window.open('https://www.yahoo.co.jp/');") 30 31 time.sleep(5) 32 33finally: 34 driver.quit() 35 print("finished")

↓実行結果
イメージ説明

しかしdriver.get()を行わないという縛りは避けたいため、この方法は使えません。
どなたか解決策のご教授の程宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wakuwaku499

2021/12/20 07:13

グループポリシーなどで制御されているということはないでしょうか?
mamegorou

2021/12/20 14:15

ありがとうございます。 グループポリシーについて色々と調べていたら結果的に解決方法を見つけることができました。 半ば諦めていたので本当に感謝しております。 大変ありがとうございました。
wakuwaku499

2021/12/21 00:11

IEモードの場合は、グループポリシーをIE側の設定をしないといけないことから回答に辿り着けたということですかね? 直接的ではありませんでしたが、きっかけになってよかったです。
guest

回答1

0

自己解決

IEの設定が不十分でした。

①インターネットオプション→プライバシー→ポップアップブロックを有効にするのチェックを外す
②インターネットオプション→セキュリティ→レベルのカスタマイズ→ポップアップブロックの使用を無効にするの選択

①は実施していましたが、②を実施していなかったことが原因だったようです。
無事に新しいタブを開くことができました。

イメージ説明

投稿2021/12/20 14:23

mamegorou

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問