Selenium の基本 - 拡張: ブラウザのアドオン設定を使用してユーザーフリーのログインを実現する

1. アドオン構成とは

多くの場合、Web サイトにログインすると、ブラウザーはログイン アカウントを保存するかどうかのメッセージをポップアップ表示します。保存を選択すると、次回ログインするときにアカウント番号を再度入力する必要がなく、ログインを直接回避できます。

実際のテストでは登録とログインのテストは一部ですが、seleniumでWebサイトを開くと毎回ログインし直す必要があり非常に面倒です。では、無料のログイン操作は Selenium で実現できるのでしょうか?

もちろん、それは可能です。必要なのは、開くブラウザーのアドオンを構成することだけです。

Selenium が Web サイトを開くたびに再ログインする必要がある理由を説明してください。

Selenium の Web ドライバーによって開かれるブラウザを使用する場合、ブラウザを開くためにスクリプトが使用されます。実際、プロセスを再度開きますが、これはブラウザを手動で開くのと同じプロセスではないため、一部の情報は記録されません。

2. Firefox 設定をロードする

例証します:

Firefox ブラウザはブラウザ設定をロードします。設定クラスを作成するには FirefoxProfile(profile_directory) を使用する必要があります。

profile_directory はブラウザ設定ファイルのパス アドレスです。

profile_directory を見つけるにはどうすればよいですか?

Firefox ブラウザを開き、[設定 >?] をクリックします。(ヘルプ) > トラブルシューティング情報 > フォルダーの表示

次のインターフェースに移動します。

 例:

"""
1.学习目标:
    了解使用火狐浏览器实现免登陆
2.操作步骤
    1.手动登录网站,点击记住密码
    2.找火狐浏览器配置文件夹
        火狐浏览器--->设置--->帮助--->故障排除信息--->配置文件夹
        将文件夹路径复制保存
    3.将配置文件夹路径保存到代码
        profile_directory = 配置文件夹路径
    4.实例webdriver中的火狐浏览器profile
        profile = webdriver.FirefoxProfile(firefox_profile=配置文件夹路径)
    5.启动火狐浏览器,并传入配置信息
        driver = webdriver.Firefox(profile)
    6.打开可以免登陆的地址
        driver.get(网站)
3.需求
    使用火狐浏览器实现163邮箱免登陆
"""
# 1.导入selenium
from selenium import webdriver
from time import sleep
 
# 2.找火狐浏览器配置文件夹
# 火狐浏览器--->设置--->帮助--->故障排除信息--->配置文件夹
 
# 3.将配置文件夹路径保存到代码
# 如果不加r,路径中的\都要换成\\
profile_directory = r"C:\Users\L\AppData\Roaming\Mozilla\Firefox\Profiles\6pv0pces.default"
 
# 4.实例webdriver中的火狐浏览器profile
profile = webdriver.FirefoxProfile(profile_directory)
 
# 5.启动火狐浏览器,并传入配置信息
driver = webdriver.Firefox(firefox_profile=profile)
 
# 6.打开可以免登陆的地址
driver.get("http://mail.163.com/")
sleep(5)
 
# 7.关闭浏览器
driver.quit()

3. Chrome 設定をロードする

原理はFirefoxブラウザと同じで、Chromeブラウザでも実装できます。

ただし、一部のバージョンではそうではありません。

環境:

  • システム環境:Windows10
  • Python バージョン: 3.7.7
  • Chrome ブラウザのバージョン: 74.0.3729.131 (正式バージョン) (32 ビット)

手順:

   1.プロファイルパスを取得する

# Chrome安装路径
user-data-dir='C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data\\'

注:User Dataこのディレクトリを見つけられない人も多いため、見つけられない可能性があります。

  2. 設定データのロード

# 配置谷歌浏览器加载项
options = webdriver.ChromeOptions()
options.add_argument(user_data_dir)

 3. ブラウザを起動するようにアドオンを設定します。

driver = webdriver.Chrome(options=options)

例:

"""
1.学习目标
    了解使用谷歌浏览器实现账号免登陆
2.操作步骤(语法)
    2.1 手动登录网站,点击记住密码
    2.2 找到谷歌浏览器个人资料路径
        一定要注意格式:
        user_data_dir =
        '--user-data-dir=C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data\\'
    2.3 配置谷歌浏览器加载项
        option = webdriver.ChromeOptions()
        option.add_argument(路径)
    2.4 打谷歌浏览器并且传入options
        driver=webdriver.Chrome(options=options)
    2.5 打开可以免登陆的地址
        driver.get(网站)
3.需求
    使用谷歌浏览器实现163邮箱免登陆
"""
# 1.导入selenium
from selenium import webdriver
from time import sleep
 
# 2.获取谷歌浏览器个人资料路径
user_data_dir = r"--user-data-dir=C:\Users\L\AppData\Local\Google\Chrome\User Data"
 
# 3.配置谷歌浏览器加载项
options = webdriver.ChromeOptions()
options.add_argument(user_data_dir)
 
# 4.打开谷歌浏览器并且传入options
driver = webdriver.Chrome(options=options)
 
# 5.打开可以免登陆的地址
driver.get("http://mail.163.com/")
sleep(5)
 
# 6.关闭浏览器
driver.quit()

おすすめ

転載: blog.csdn.net/lzz718719/article/details/131669185