unerwünschtes Chrome Fenster
Verfasst: Dienstag 20. Oktober 2020, 08:28
Hallo,
das hier ist mein Code, mittlerweile habe ich herausgefunden, dass der Fehler hier entsteht:
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?
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
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?