

下記サイトにchromedriverとseleniumを用いてアクセスしようと試みています。  
他のサイトでは問題なくアクセスできていますが、getで処理が止まってしまいます。

<https://salonboard.com/login/>

【環境】  
Ubuntu 22.04.3 LTS  
Python 3.10.12  
Google Chrome 116.0.5845.110  
Selenium 4.14.0

[code]

    import sys
    sys.dont_write_bytecode = True
    from datetime import datetime
    from selenium import webdriver
    from selenium.webdriver.chrome.service import Service
    from selenium.webdriver.chrome.options import Options
    from selenium.webdriver.common.by import By
    from time import sleep
    import time
    
    CHROMEDRIVER = "/usr/bin/chromedriver"
    
    if __name__ == '__main__':
        url = "https://salonboard.com/login"
    
        service = Service(executable_path=CHROMEDRIVER)
        #ヘッドレスモードでブラウザを起動
        options = Options()
        options.add_argument('--headless')
        options.add_argument("--no-sandbox")
        #ブラウザを起動
        driver = webdriver.Chrome(service=service, options=options)
    
        # urlにアクセス
        print('before get')
        driver.set_page_load_timeout(30)
        try:
            driver.get(url)
            print('after get')
        except Exception as e:
            print('timeout')
        finally:
            #ブラウザ停止
            driver.quit()
    
[/code]

【出力】

[code]

    before get
    timeout
    
[/code]


CC BY-SA 4.0
2023-10-23T07:10:36.993
96553
2023-10-23T11:40:24.990
2023-10-23T11:40:24.990
3060
58654
question
python python3 selenium
Seleniumでページを取得できないサイトがある


ユーザーエージェントを指定することで解決できました。

[code]

    import sys
    sys.dont_write_bytecode = True
    from datetime import datetime
    from selenium import webdriver
    from selenium.webdriver.chrome.service import Service
    from selenium.webdriver.chrome.options import Options
    from selenium.webdriver.common.by import By
    from time import sleep
    import time
    
    CHROMEDRIVER = "/usr/bin/chromedriver"
    
    if __name__ == '__main__':
        url = "https://salonboard.com/login"
    
        service = Service(executable_path=CHROMEDRIVER)
        #ヘッドレスモードでブラウザを起動
        options = Options()
        options.add_argument('--headless')
        options.add_argument('--no-sandbox')
        options.add_argument('--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36')
        #ブラウザを起動
        driver = webdriver.Chrome(service=service, options=options)
    
        agent = driver.execute_script("return navigator.userAgent")
        print(agent)
        # urlにアクセス
        print('before get')
        driver.set_page_load_timeout(10)
        try:
            driver.get(url)
            print('after get')
        except Exception as e:
            print(str(e))
        finally:
            #ブラウザ停止
            driver.quit()
    
[/code]

【出力】  
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/118.0.0.0 Safari/537.36  
before get  
after get


CC BY-SA 4.0
2023-10-23T08:53:05.467
96554
2023-10-23T08:55:08.503
2023-10-23T08:55:08.503
58654
58654
96553
answer