63307


下記のページを参考に試してみたのですがうまくいきませんでした。

[CSVに書いたURLを順番に開いて全画面スクリーンショットを取るスクリプト -
Qiita](https://qiita.com/YoshikiIto/items/42fb32fe9c88b7141708)

urls.csv内のURL情報を read_csv.py で読み込むのは成功。

しかし、test_screenshot.py 内の ChromeDriverManager
というモジュールが自分のPCに無いらしくスクショを撮影できません。

**質問**

下記いずれかの方法についてご教授ください。

  1. 上記コードで ChromeDriverManager を使用しない方法

  2. anacondaに ChromeDriverManager を入れる方法

※参考  
[Python+SeleniumWebDriverではwebdriver_managerを使うといちいちdriverのexeを置き換えなくて済む -
Qiita](https://qiita.com/YoshikiIto/items/000f241f6d917178981c)

* * *

**構成**

[code]

    .
    ├─ data
    │　└─ urls.csv
    │
    ├─ utilities
    │　└─ read_csv.py
    │
    └─ test_screenshot.py
    
[/code]

**test_screenshot.py**

[code]

    import time
    
    import pytest
    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    from webdriver_manager.chrome import ChromeDriverManager
    
    from utilities.read_csv import read_csv_data
    
    class TestScreenshot():
    
    datalist = read_csv_data("./data/urls.csv")
    
    @classmethod
    def setup_class(cls):
        options = Options()
        options.add_argument('--headless')
        options.add_argument('--hide-scrollbars')
        cls.driver = webdriver.Chrome(executable_path=ChromeDriverManager().install(), options=options)
        cls.driver.maximize_window()
    
    @pytest.mark.parametrize("id, url", datalist)
    def test_reserve_multi(self, id, url):
        driver = self.driver
        driver.get(url)
        time.sleep(3)
        page_height = driver.execute_script('return document.body.scrollHeight')
        driver.set_window_size(1920, page_height)
        driver.save_screenshot(id + '.png')
    
[/code]


CC BY-SA 4.0
2020-02-22T17:16:47.953
63286
2020-02-23T16:23:11.053
2020-02-23T12:23:33.170
3060
32946
question
python selenium
CSVに書いたURLのスクショをSeleniumで撮影する方法


参考記事書いたものです。

①  
ローカルに別途ダウンロードしたchromedriver.exeを使えば動きます。

[code]

    cls.driver = webdriver.Chrome(executable_path=ChromeDriverManager().install(), options=options)
    
[/code]

を

[code]

    cls.driver = webdriver.Chrome('chromedriver.exeへのパス')
    
[/code]

に変えれば動きます。  
PATHが通っている場所にchromedriver.exeを置けば、カッコの中は空でOKです。

②  
Anaconda Promptから、参考記事の通り

[code]

    pip install webdriver_manager
    
[/code]

すればインストールできます。  
Anaconda登録済みのパッケージの中には、webdriver_managerは無いはずです。


CC BY-SA 4.0
2020-02-23T16:23:11.053
63307
2020-02-23T16:23:11.053
37931
63286
answer