import requests
from bs4 import BeautifulSoup
from datetime import datetime
import sys
import json
import re
import argparse
import os
import time

from selenium import webdriver
from selenium.common.exceptions import *
from time import sleep



# chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By

# firefox
# from selenium.webdriver.firefox.service import Service
# from webdriver_manager.firefox import GeckoDriverManager
# from selenium.webdriver.firefox.options import Options
# from selenium.webdriver.common.by import By


# import chromedriver_binary
import logging
import json

# import urllib.request
# import urllib.request
# import urllib2
import urllib
import urllib.parse

if __name__ == '__main__':

    count = 1

    # logger = logging.getLogger(__name__)
    # logging.basicConfig(filename='/home/vagrant/code/python/logs/test.log', level=logging.ERROR)

    keys_json = open('config.json', 'r')
    keys = json.load(keys_json)

    # get_url = keys['get_url']
    update_url = keys['update_url']

    # キャッシュディレクトリの作成
    path = os.getcwd()
    tmp_dir_name = 'tmp_data'
    os.makedirs(tmp_dir_name, exist_ok=True)

    # 引数
    # args = get_args()

    logging.error("selenium init")

    options = Options()
    # options = webdriver.ChromeOptions()
    # options.binary_location = "/home/vagrant/.local/lib/python2.7/site-packages/chromedriver_binary/chromedriver"
    options.add_argument(
        '--user-agent=user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36')

    # options.add_argument('--headless')
    # options.add_argument("--window-size=1920,1080")
    # options.add_argument("--disable-gpu")
    options.add_argument("--no-sandbox")
    # options.add_argument("--single-process")
    options.add_argument("--disable-setuid-sandbox")
    # options.add_argument('--disable-dev-shm-usage')
    # options.add_argument("--start-maximized")

    # ブラウザをシークレットモードで起動する
    # options.add_argument("--incognito")

    # # options.add_experimental_option("excludeSwitches", ["enable-automation"])
    # # options.add_argument('useAutomationExtension', False)
    # options.add_argument("--remote-debugging-port=9222")
    # options.add_argument('--disable-features=VizDisplayCompositor')
    options.add_argument('--user-data-dir=' + path + '\\' + tmp_dir_name)


    service = Service(executable_path=ChromeDriverManager().install())
    browser = webdriver.Chrome(options=options, service=service)

    # service = Service(executable_path=GeckoDriverManager().install())
    # browser = webdriver.Firefox(options=options, service=service)

    # chrome_driver_path = '/usr/local/bin/chromedriver'
    # browser = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver')

    # 検索ワード取得
    headers = {
        # "User-Agent": "user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36",
    }

    # logging.error("aaa")
    max_count = 100
    check_count_span = 3

    url = 'https://www.pscube.jp/h/a704834/cgi-bin/nc-v09-001.php?cd_ps=2'

    browser.get(url)


    sleep(300)


    if (len(browser.find_elements(By.CLASS_NAME,"nc-grid")) == 0):
        content_node = browser.find_element(By.CLASS_NAME,"nc-grid")

        print(content_node.text)
    else:
        print("no item-grid")
