class

TiktokPassport::Marionette

Inherits Reference / Object

Constants

CHROME_CAPABILITIES = Selenium::Chrome::Capabilities.new.tap do |conf| conf.chrome_options.args = ["--headless", "--disable-blink-features=AutomationControlled", "--disable-infobars", "--window-size=1920,1080", "--start-maximized"] conf.chrome_options.exclude_switches = ["enable-automation"] end

The remote browser desired capabilities.

SCRIPTS_TO_EXECUTE_ON_PAGE_LOAD = begin buffer = uninitialized ::StaticArray(String, 16) {% for key, index in ["/tmp/tmp.pJpkhp/src/src/tiktok_passport/marionette/javascript/evasions/utils.js", "/tmp/tmp.pJpkhp/src/src/tiktok_passport/marionette/javascript/evasions/chrome.app.js", "/tmp/tmp.pJpkhp/src/src/tiktok_passport/marionette/javascript/evasions/chrome.csi.js", "/tmp/tmp.pJpkhp/src/src/tiktok_passport/marionette/javascript/evasions/chrome.loadTimes.js", "/tmp/tmp.pJpkhp/src/src/tiktok_passport/marionette/javascript/evasions/chrome.runtime.js", "/tmp/tmp.pJpkhp/src/src/tiktok_passport/marionette/javascript/evasions/iframe.contentWindow.js", "/tmp/tmp.pJpkhp/src/src/tiktok_passport/marionette/javascript/evasions/media.codecs.js", "/tmp/tmp.pJpkhp/src/src/tiktok_passport/marionette/javascript/evasions/navigator.hardwareConcurrency.js", "/tmp/tmp.pJpkhp/src/src/tiktok_passport/marionette/javascript/evasions/navigator.languages.js", "/tmp/tmp.pJpkhp/src/src/tiktok_passport/marionette/javascript/evasions/navigator.permissions.js", "/tmp/tmp.pJpkhp/src/src/tiktok_passport/marionette/javascript/evasions/navigator.plugins.js", "/tmp/tmp.pJpkhp/src/src/tiktok_passport/marionette/javascript/evasions/navigator.vendor.js", "/tmp/tmp.pJpkhp/src/src/tiktok_passport/marionette/javascript/evasions/navigator.webdriver.js", "/tmp/tmp.pJpkhp/src/src/tiktok_passport/marionette/javascript/evasions/webgl.vendor.js", "/tmp/tmp.pJpkhp/src/src/tiktok_passport/marionette/javascript/evasions/window.outerdimensions.js", "/tmp/tmp.pJpkhp/src/src/tiktok_passport/marionette/javascript/signer.js"] %} {% if env("MINIFY_JS") %} buffer[{{ index }}] = {{ (`uglifyjs --validate #{key}`).stringify }} {% else %} buffer[{{ index }}] = {{ read_file(key) }} {% end %} {% end %} buffer end

An array of javascript fucntions to execute on page load.

Constructors

new(remote_url : String)
Source

Instance methods

evaluate(script, args = [] of String)

Evaluates a script and wait for the response.

Source
evaluate_cdp(command, params = {} of String => String)

Evaluates a CDP (Selenium Chrome DevTools Protocol) command.

Source
id

Returns the current selenium session id.

Source
screenshot(path)

Takes a screenshot of the current page.

Source
stop

Terminates the current selenium session.

Source
user_agent

Returns the navigator user agent.

Source
user_agent=(desired_user_agent)

Overrides the navigator user agent.

Source

Nested types