Last active
December 3, 2023 14:01
-
-
Save andrewyoo/7c2e5f59dc988684db71cddd64b03ee8 to your computer and use it in GitHub Desktop.
Getting Started: Capybara + Selenium + Custom user-agent, chrome settings
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'capybara' | |
require 'selenium/webdriver' | |
require 'capybara/dsl' | |
include Capybara::DSL | |
Capybara.run_server = false | |
# setting driver | |
# rack_test is default and non js | |
# selenium_chome_headless seems best headless option | |
# poltergist has page.driver.network_traffic ability | |
Capybara.register_driver(:iphone_headless) do |app| | |
user_agent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3' | |
capabilities = Selenium::WebDriver::Remote::Capabilities.chrome( | |
chromeOptions: { args: (%w[ headless disable-gpu hide-scrollbars ] << "--user-agent='#{user_agent}'") } | |
) | |
Capybara::Selenium::Driver.new(app, browser: :chrome, desired_capabilities: capabilities) | |
end | |
Capybara.default_driver = :iphone_headless | |
#Capybara.default_driver = :selenium_chrome_headless | |
#Capybara.default_driver = :selenium_chrome | |
# change window size | |
# desktop 992x600, mobile 375x667 | |
page.driver.browser.manage.window.resize_to(375, 667) | |
visit 'https://www.google.com' | |
page.save_screenshot('screenshot.png') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment