Selenium for chrome python

1.4.3. selenium.webdriver.chrome.webdriver¶

Controls the ChromeDriver and allows you to drive the browser.

Creates a new instance of the chrome driver. Starts the service and then creates new instance of chrome driver.

  • options — this takes an instance of ChromeOptions
  • service — Service object for handling the browser driver if you need to pass extra details
  • keep_alive — Whether to configure ChromeRemoteConnection to use HTTP keep-alive.

Adds a cookie to your current session.

  • cookie_dict: A dictionary object, with required keys — “name” and “value”; optional keys — “path”, “domain”, “secure”, “httpOnly”, “expiry”, “sameSite”
driver.add_cookie('name' : 'foo', 'value' : 'bar'>) driver.add_cookie('name' : 'foo', 'value' : 'bar', 'path' : '/'>) driver.add_cookie('name' : 'foo', 'value' : 'bar', 'path' : '/', 'secure' : True>) driver.add_cookie('name' : 'foo', 'value' : 'bar', 'sameSite' : 'Strict'>) 

Injects a credential into the authenticator.

add_virtual_authenticator ( options: selenium.webdriver.common.virtual_authenticator.VirtualAuthenticatorOptions ) → None [source] ¶

Adds a virtual authenticator with the given options.

Returns a ApplicationCache Object to interact with the browser app cache.

Goes one step backward in the browser history.

returns the drivers current capabilities being used.

Closes the current window.

Creates a web element with the specified element_id .

Gets the URL of the current page.

Returns the handle of the current window.

driver.current_window_handle 

Delete all cookies in the scope of the session.

Deletes a single cookie with the given name.

driver.delete_cookie('my_cookie') 

Resets Chromium network emulation settings.

returns the drivers current desired capabilities being used.

execute ( driver_command: str, params: dict = None ) → dict [source] ¶

Sends a command to be executed by a command.CommandExecutor.

  • driver_command: The name of the command to execute as a string.
  • params: A dictionary of named parameters to send with the command.

The command’s JSON response loaded into a dictionary object.

Asynchronously Executes JavaScript in the current window/frame.

script = "var callback = arguments[arguments.length - 1]; " \ "window.setTimeout(function()< callback('timeout') >, 3000);" driver.execute_async_script(script) 

Execute Chrome Devtools Protocol command and get returned result The command and command args should follow chrome devtools protocol domains/commands, refer to link https://chromedevtools.github.io/devtools-protocol/

driver.execute_cdp_cmd('Network.getResponseBody', 'requestId': requestId>) 

A dict, empty dict <> if there is no result to return. For example to getResponseBody:

Synchronously Executes JavaScript in the current window/frame.

driver.execute_script('return document.title;') 

Overrides the current file detector (if necessary) in limited context. Ensures the original file detector is set afterwards.

with webdriver.file_detector_context(UselessFileDetector): someinput.send_keys('/etc/hosts') 
  • file_detector_class — Class of the desired file detector. If the class is different from the current file_detector, then the class is instantiated with args and kwargs and used as a file detector during the duration of the context manager.
  • args — Optional arguments that get passed to the file detector class during instantiation.
  • kwargs — Keyword arguments, passed the same way as args.

Find an element given a By strategy and locator.

element = driver.find_element(By.ID, 'foo') 

Find elements given a By strategy and locator.

elements = driver.find_elements(By.CLASS_NAME, 'foo') 

Goes one step forward in the browser history.

Invokes the window manager-specific ‘full screen’ operation.

Loads a web page in the current browser session.

get_cookie ( name ) → Optional[Dict] [source] ¶

Get a single cookie by name. Returns the cookie if found, None if not.

driver.get_cookie('my_cookie') 

Returns a set of dictionaries, corresponding to cookies visible in the current session.

Returns the list of credentials owned by the authenticator.

get_issue_message ( ) ¶

Returns: An error message when there is any issue in a Cast session.

get_log ( log_type ) [source] ¶

Gets the log for a given log type.

driver.get_log('browser') driver.get_log('driver') driver.get_log('client') driver.get_log('server') 

Gets Chromium network emulation settings.

Gets the screenshot of the current window as a base64 encoded string which is useful in embedded images in HTML.

driver.get_screenshot_as_base64() 

Saves a screenshot of the current window to a PNG image file. Returns False if there is any IOError, else returns True. Use full paths in your filename.

  • filename: The full path you wish to save your screenshot to. This should end with a .png extension.
driver.get_screenshot_as_file('/Screenshots/foo.png') 

Gets the screenshot of the current window as a binary data.

driver.get_screenshot_as_png() 

Gets the x,y position of the current window.

driver.get_window_position() 

Gets the x, y coordinates of the window as well as height and width of the current window.

Gets the width and height of the current window.

Sets a sticky timeout to implicitly wait for an element to be found, or a command to complete. This method only needs to be called one time per session. To set the timeout for calls to execute_async_script, see set_script_timeout.

Launches Chromium app specified by id.

Gets a list of the available log types. This only works with w3c compliant browsers.

Maximizes the current window that webdriver is using.

Invokes the window manager-specific ‘minimize’ operation.

Returns the name of the underlying browser for this instance.

Gets the current orientation of the device.

orientation = driver.orientation 

Gets the source of the current page.

Store common javascript scripts to be executed later by a unique hashable ID.

print_page ( print_options: Optional[selenium.webdriver.common.print_page_options.PrintOptions] = None ) → str [source] ¶

Takes PDF of the current page.

The driver makes a best effort to return a PDF based on the provided parameters.

Closes the browser and shuts down the ChromiumDriver executable that is started when starting the ChromiumDriver.

Refreshes the current page.

Removes all credentials from the authenticator.

remove_credential ( credential_id: Union[str, bytearray] ) → None [source] ¶

Removes a credential from the authenticator.

Removes a previously added virtual authenticator.

The authenticator is no longer valid after removal, so no methods may be called.

save_screenshot ( filename ) → bool [source] ¶

Saves a screenshot of the current window to a PNG image file. Returns False if there is any IOError, else returns True. Use full paths in your filename.

  • filename: The full path you wish to save your screenshot to. This should end with a .png extension.
driver.save_screenshot('/Screenshots/foo.png') 

Sets Chromium network emulation settings.

driver.set_network_conditions( offline=False, latency=5, # additional latency (ms) download_throughput=500 * 1024, # maximal throughput upload_throughput=500 * 1024) # maximal throughput 

Note: ‘throughput’ can be used to set both (for download and upload).

Set the amount of time to wait for a page load to complete before throwing an error.

driver.set_page_load_timeout(30) 

Sets Applicable Permission.

driver.set_permissions('clipboard-read', 'denied') 

Set the amount of time that the script should wait during an execute_async_script call before throwing an error.

driver.set_script_timeout(30) 

Sets a specific sink, using its name, as a Cast session receiver target.

Sets whether the authenticator will simulate success or fail on user verification.

verified: True if the authenticator will pass user verification, False otherwise.

set_window_position ( x, y, windowHandle: str = ‘current’ ) → dict [source] ¶

Sets the x,y position of the current window. (window.moveTo)

  • x: the x-coordinate in pixels to set the window position
  • y: the y-coordinate in pixels to set the window position
driver.set_window_position(0,0) 

Sets the x, y coordinates of the window as well as height and width of the current window. This method is only supported for W3C compatible browsers; other browsers should use set_window_position and set_window_size .

driver.set_window_rect(x=10, y=10) driver.set_window_rect(width=100, height=200) driver.set_window_rect(x=10, y=10, width=100, height=200) 

Sets the width and height of the current window. (window.resizeTo)

driver.set_window_size(800,600) 

Called before starting a new session.

This method may be overridden to define custom startup behavior.

start_desktop_mirroring ( sink_name: str ) → dict¶

Starts a desktop mirroring session on a specific receiver target.

Creates a new session with the desired capabilities.

Starts a tab mirroring session on a specific receiver target.

Stops the existing Cast session on a specific receiver target.

Called after executing a quit command.

This method may be overridden to define custom shutdown behavior.

element = driver.switch_to.active_element alert = driver.switch_to.alert driver.switch_to.default_content() driver.switch_to.frame('frame_name') driver.switch_to.frame(1) driver.switch_to.frame(driver.find_elements(By.TAG_NAME, "iframe")[0]) driver.switch_to.parent_frame() driver.switch_to.window('main') 

Get all the timeouts that have been set on the current session.

Returns the title of the current page.

Remove a pinned script from storage.

Returns the id of the virtual authenticator.

Returns the handles of all windows within the current session.

Источник

Установка драйвера chromedriver для Chrome Selenium

Для запуска тестов Selenium в Google Chrome, помимо самого браузера Chrome, должен быть установлен ChromeDriver. Установить ChromeDriver очень просто, так как он находится в свободном доступе в Интернете. Загрузите архив в зависимости от операционной системы, разархивируйте его и поместите исполняемый файл chromedriver в нужную директорию.

Какую версию chromedriver установить?

Мы должны установить именно ту версия которая была бы совместима с установленным Google Chrome на нашем ПК или VDS. В случае, если версии не совпадают, то мы получим данную ошибку:

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 81

Введите в адресную строку Google Chrome данный путь:

У вас появится вот такое окно:

Версия chromedriver

Рисунок 1 — Узнаем версию браузера Google Chrome

Скачать ChromeDriver для Linux, Windows и Mac

На данный момент актуальная версия драйвера 81.0.40 хотя у меня установлен более старый Google Chrome и последняя версия мне не подойдет. Как видно на рисунке выше, мне нужна версия 79.0.39 у вас может быть другая версия, нужно её скачать.

Скачать драйвер ChromeDriver

Рисунок 2 — Официальный сайт Google для загрузки драйвера chromedriver

На момент прочтения этой статьи версия может быть другой. Всегда выбирайте более новую версию, чтобы не поймать старые баги которые уже давно исправили в новой версии. НО! Помните, что вам нужно обновить и свой браузер Google Chrome если вы хотите работать с новой версией ChromeDriver.

Установка ChromeDriver под Linux, Windows и Mac

  1. Заходим на сайт https://chromedriver.storage.googleapis.com/index.html?path=79.0.3945.36/ (Проверьте сайт с Рис. 2 на обновления, тут версия: 79.0.3945);
  2. Скачиваем архив под вашу операционную систему;
  3. Распаковываем файл и запоминаем где находится файл chromedriver или chromedriver.exe (Windows).

Архив Chromedriver

Рисунок 3 — Скаченный архив с ChromeDriver

Если у вас Linux дистрибутив или Mac, вам нужно дать файлу chromedriver нужные права на выполнения. Открываем терминал и вводим команды одна за другой.

Источник

Читайте также:  Php variable start with
Оцените статью