
#!/usr/bin/env python3
from __future__ import print_function
import os,sys,time,re
from selenium import webdriver
from selenium.common.exceptions import WebDriverException
from selenium.webdriver.chrome.options import Options
is_windows = os.getenv('OS') != None and re.compile('.*NT').match( os.getenv('OS'))
homedir = os.getenv('USERPROFILE' if is_windows else 'HOME')
print('user home directory path: {}'.format(homedir), file = sys.stderr)
chromedriver_path = homedir + os.sep + 'Downloads' + os.sep + ('chromedriver.exe' if is_windows else 'chromedriver')
print('chromedriver path: {}'.format(chromedriver_path), file = sys.stderr)
options = Options()
profile_dir_name = None
if len(sys.argv) > 1:
profile_dir_name = sys.argv[1]
if profile_dir_name == None:
profile_dir_name = 'CustomProfile'
user_data_dir ='{0}\\AppData\\Local\\Google\\Chrome\\User Data\\{1}'.format(os.getenv('USERPROFILE'), profile_dir_name) if is_windows else '{0}/.config/{1}'.format(os.getenv('HOME'), profile_dir_name)
if os.path.isdir(user_data_dir):
print('Custom profile will be used: "{}"'.format(user_data_dir), file = sys.stderr)
else:
print('Custom profile will be created: "{}"'.format(user_data_dir), file = sys.stderr)
options.add_argument( 'user-data-dir={}'.format(user_data_dir))
try:
driver = webdriver.Chrome(executable_path = chromedriver_path, options = options)
# TODO: Message: unknown error: Chrome failed to start: exited normally.
# unknown error: DevToolsActivePort file doesn't exist
# The process started from chrome location
# C:\Program Files\Google\Chrome\Application\chrome.exe
# is no longer running, so ChromeDriver is assuming that Chrome has crashed.
# from chromedriver / chrome version mismatch
except WebDriverException as e:
driver = None
print(e, file = sys.stderr)
pass
# TODO: catch unknown error: Could not remove old devtools port file.
# Perhaps the given user-data-dir at ... is still
# attached to a running Chrome or Chromium process
if driver != None:
driver.get('chrome://version/')
time.sleep(10)
driver.close()
driver.quit()
if not os.path.isdir(user_data_dir + os.sep + 'Default' ):
print('The profile was not created: "{}"'.format(user_data_dir), file = sys.stderr)
# on a vanilla Windows node
# PATH=%PATH%;c:\Python38;%USERPROFILE%\Downloads
Type mismatch: cannot convert from Value to Stringупростите@EnableSentry(dsn ="${sentry.sdn}")
'setCellFactory(javafx.util.Callback,javafx.scene.control.TableCell>)'
in 'javafx.scene.control.TableColumn'
cannot be applied to
'(javafx.scene.control.cell.PropertyValueFactory)'
def send_keys(self, *value) -> None:
"""Simulates typing into the elemen
send_keys события дополнительно слать не надо
думаю вам надо сначала$("#search")<g id="search"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path></g>element = document.find_element_by_css_selector('form input#search')element.send_keys( 'hello' )