前提・実現したいこと
Selenium等をインストールできない環境のため、
HTTPリクエストでWebDriverに直接browserOptionを送信する方法を模索しています。
Python+Seleniumでは以下のような内容になります。
python
1from selenium import webdriver 2 3# ChromeOptions ここの部分 4options = webdriver.ChromeOptions() 5options.add_argument('--start-in-incognito') 6options.add_argument('--start-maximized') 7options.add_argument('--disable-blink-features=AutomationControlled') 8 9driver = webdriver.Chrome(options=options) 10driver.get('https://www.google.co.jp/')
試したこと
WebDriver W3C
こちらのページを参考に以下を試してみました。
(知識がなくうまく表現できませんが、以下のような内容です。)
HTTPリクエスト
method:POST
url:http://<ポート>/session
requestHeader:Content-Type=application/json
send:{"capabilities":{"alwaysMatch":{"Chrome:browserOptions":{"args":["--start-in-incognito","--start-maximized","--disable-blink-features=AutomationControlled"]}}}}
送信するJSONを"desiredcapabilities"にするなど試してみましたが、いずれもうまく送信できません。
厳密には送信できており、エラーも返ってきませんが、ブラウザが思ったような状態(プライバシーモード、最大化、Navigator.Webdriver=False)にならないです。
そもそもNewSessionの引数に渡すことが正しいのかすらわかっていないので、
アプローチとしてあっているのか、送信するJSONはあっているかの段階から知りたいです。
初歩的な質問ですが、どなたかご教示いただけないでしょうか。
あなたの回答
tips
プレビュー