unerwünschtes Chrome Fenster

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
fynnpf
User
Beiträge: 10
Registriert: Dienstag 20. Oktober 2020, 08:21

Hallo,

das hier ist mein Code, mittlerweile habe ich herausgefunden, dass der Fehler hier entsteht:

Code: Alles auswählen

from selenium.webdriver import Chrome as SeleniumChrome

from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC


from selenium.webdriver.common.by import By

from selenium.common.exceptions import TimeoutException

import os
from os.path import expanduser

from datetime import datetime
from common import *


class ChromeClass(SeleniumChrome):
    
    def __init__(self):
        
        # driver = driver if driver else DEFAULT_DRIVER
        # user_agent = user_agent if user_agent else DEFAULT_USER_AGENT
        
        super_return = super(ChromeClass, self).__init__(
            chrome_options=OPTIONS, 
            executable_path=DEFAULT_DRIVER
        )
        
        # save session
        with open(SESSION, 'w+') as f:
            f.write('{} {} {}'.format(
                datetime.now().strftime('%H-%M-%S-%d-%m-%Y'),
                self.command_executor._url, 
                self.session_id
            ))
        
        return super_return
        
    def screenshot(self, path):
        return self.get_screenshot_as_file(path)
        
    def element_exists_at(self, selector, timeout=None):
        return self.wait_for(selector, timeout) is not None
        
    def wait_for(self, selector, timeout=None):
        if not timeout: 
            timeout = 60 # seconds
        
        try:
            wait = WebDriverWait(self, timeout)
            loc = (By.CSS_SELECTOR, selector)
            
            wait.until(EC.presence_of_element_located(loc))
            wait.until(EC.visibility_of_element_located(loc))
            # wait.until(EC.elementToBeClickable(loc))
            
            print('Found', selector)
            return self.find_element_by_css_selector(selector)
        except TimeoutException:
            print('Loading took too much time!')
            self.screenshot('screens/error.png')
            return None


class Chrome:
    instance = ChromeClass()
    
    session_id = instance.session_id
    executor_url = instance.command_executor._url
    
Der Fehler ist, dass ein leeres Chrome-Fenster geöffnet wird.
Ich versuche gerade eine Website-Automation zu erstellen, diese Funktioniert auch problemlos, nur wird zu jedem ausführen der Automation, welche den obigen Code importiert, ein leeres Chrome Fenster geöffnet.
Woran liegt das?
Antworten