diff --git a/.idea/BingPoints.iml b/.idea/BingPoints.iml index 2140ac9..f571432 100644 --- a/.idea/BingPoints.iml +++ b/.idea/BingPoints.iml @@ -2,7 +2,7 @@ - + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 18905db..59e780e 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,5 +3,5 @@ - + \ No newline at end of file diff --git a/run.py b/run.py index 6ca088b..623626c 100644 --- a/run.py +++ b/run.py @@ -3,21 +3,19 @@ import selenium.common from utils import Bing User_profile_chrome = ["chromium"] -User_profile_edge = ["User Data","User DataBM"] def main(): - for path in User_profile_edge: - try: - driver = Bing.init_driver_edge(path) - Bing.get_points(driver=driver) - time.sleep(10) - Bing.get_points(driver=driver) - time.sleep(10) - driver.quit() - print("quit") + try: + driver = Bing.init_driver() + Bing.get_points(driver=driver) + time.sleep(10) + Bing.get_points(driver=driver) + time.sleep(10) + driver.quit() + print("quit") - except selenium.common.exceptions.WebDriverException as e: - print(e) + except selenium.common.exceptions.WebDriverException as e: + print(e) if __name__ == "__main__": diff --git a/utils.py b/utils.py index 5dc0bf3..14dcc23 100644 --- a/utils.py +++ b/utils.py @@ -4,43 +4,23 @@ from selenium import webdriver class Bing: @staticmethod - def init_driver_edge(profile_path: str): + def init_driver(): """Initialize the Selenium WebDriver with Edge edge_options. Returns: WebDriver: The initialized Selenium WebDriver instance. """ from selenium.webdriver.edge.service import Service - from selenium.webdriver.edge.options import Options - service = Service(r"D:\Projects\BUCT\edgedriver\msedgedriver.exe") - edge_options = Options() - # edge_options.add_argument("--headless") # Run in headless mode - edge_options.add_argument("--no-sandbox") - edge_options.add_experimental_option("detach", False) - edge_options.add_argument(f"--user-data-dir=C:\\Users\\Plane\\AppData\\Local\\Microsoft\\Edge\\{profile_path}") - # edge_options.add_argument(f"--user-data-dir=C:\\Users\\Plane\\AppData\\Local\\Microsoft\\Edge\\User Data") - # edge_options.add_argument(r"user-data-dir=") - edge_options.add_argument("--profile-directory=Profile 1") - driver = webdriver.Edge(options=edge_options, service=service) - driver.implicitly_wait(5) # Implicit wait for elements to load - return driver - - @staticmethod - def init_driver_chrome(profile_path: str): - """Initialize the Selenium WebDriver with Chrome options. - Returns: - WebDriver: The initialized Selenium WebDriver instance. - """ from selenium.webdriver.chrome.options import Options - from selenium.webdriver.chrome.service import Service - - service = Service(executable_path="/usr/bin/chromedriver") options = Options() - options.add_argument("--headless") # Run in headless mode + # options.add_argument("--headless") # Run in headless mode options.add_argument("--no-sandbox") - options.add_argument(f'--user-data-dir=/home/pythagodzilla/.config/{profile_path}') - # options.add_argument('--user-data-dir=/home/pythagodzilla/.config/chromium') - # options.add_experimental_option("detach", True) - driver = webdriver.Chrome(service=service, options=options) + options.add_experimental_option("detach", True) + options.add_argument("--disable-dev-shm-usage") + options.add_argument(f"--user-data-dir=/tmp/chrome-profile") + # options.add_argument(f"--user-data-dir=C:\\Users\\Plane\\AppData\\Local\\Microsoft\\Edge\\{profile_path}") + # options.add_argument(f"--user-data-dir=C:\\Users\\Plane\\AppData\\Local\\Microsoft\\Edge\\User Data") + options.add_argument("--profile-directory=Default") # Use Default profile + driver = webdriver.Remote(command_executor="http://localhost:9002/wd/hub", options=options) driver.implicitly_wait(5) # Implicit wait for elements to load return driver