

FirefoxをPythonのSeleniumで起動する際、下の画像の様にproxyのusernameとpasswordの入力を要求されますが、  
こちらをpythonのscriptから入力する方法を教えていただけないでしょうか。

[![画像の説明をここに入力](https://i.stack.imgur.com/YysXy.png)](https://i.stack.imgur.com/YysXy.png)

私の実行環境

[code]

    Ubuntu 18.04.3 LTS
    Python 3.9.1
    selenium 3.141.0 py39h07f9747_1002 conda-forge
    geckodriver 0.29.0 (2021-01-14, cf6956a5ec8e)
    
[/code]

私が実行したpythonのスクリプトは下記の通りです。

[code]

    # proxyのユーザー名とパスワード
    USERNAME = "suzuki"
    PASSWORD = "hoge"
    
    from selenium import webdriver
    from time import sleep
    
    browser = webdriver.Firefox(executable_path=r'~/path_to_driver/geckodriver')
    sleep(5)
    
    # 下記2行でブラウザー立ち上げ後に、USERNAMEとTABキーとPASSWORDを入力し、OKボタンを押させているつもりですが、全く反応しません
    browser.switch_to.alert.send_keys(USERNAME + u'\ue004' + PASSWORD) 
    browser.switch_to.alert.accept()
    
    
[/code]

上記のコードを実行すると、FIrefoxのブラウザは立ち上がってProxyのユーザー名とパスワードを要求されますが、何も入力されません。ターミナル上には下記のエラーメッセージが出力されます。  
`selenium.common.exceptions.NoAlertPresentException message`  
Proxy入力のポップアップがアラートとして認識されていないということでしょうか。

最後の2行は下記の回答を参考に作りました。  
<https://stackoverflow.com/a/57220686/10432875>

タブの入力方法(u'\ue004')は  
<https://qiita.com/KI1208/items/effe553d1ce9a9d04d76>  
を参考にしました。

ご回答、何卒宜しくお願い致します。


CC BY-SA 4.0
2021-01-21T10:35:03.780
73469
2023-11-15T06:09:21.080
2021-01-21T10:58:25.827
30280
30280
question
python3 ubuntu selenium firefox selenium-webdriver
FirefoxをPythonのSeleniumで起動する時、proxyのusernameとpasswordを入力する方法


試す環境が無いのでキーワードで調べただけですが、英語版SOでの類似質問における回答の一つで、  
以下のような方法が紹介されていました。

[Using a http proxy with headless firefox in Selenium webdriver in Python -
Stack Overflow](https://stackoverflow.com/a/52514532)

>
[code]

>     from selenium.webdriver.common.proxy import Proxy, ProxyType
>  
>     myProxy = "username:password@proxyDomain:proxyPort"
>  
>     proxy = Proxy({
>         'proxyType': ProxyType.MANUAL,
>         'httpProxy': myProxy,
>         'ftpProxy': myProxy,
>         'sslProxy': myProxy,
>         'noProxy': '' # set this value as desired
>         })
>  
>     driver = webdriver.Firefox(firefox_binary=binary, proxy=proxy)
>  
[/code]


CC BY-SA 4.0
2021-01-21T11:53:03.307
73473
2021-01-21T11:53:03.307
3060
73469
answer