HerokuにSelenium、chrome-driverを使ったアプリをデプロイしています。Ruby on Rails、Seleniumを使って入力フォームの書き込みの自動化をしているアプリですが、間違えた部分や書き加えたい部分などのためにHeadlessではなくGUIとして遷移した先のサイトを画面表示してみたいです。以下のコードがSeleniumのdriverを使う箇所です。
require 'selenium-webdriver' caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {binary: "/app/.apt/usr/bin/google-chrome"}) driver = Selenium::WebDriver.for :chrome, desired_capabilities: caps driver.navigate.to @user.url
buildpackはChrome関連の以下の2つを使用しました。
https://github.com/heroku/heroku-buildpack-google-chrome.git
https://github.com/heroku/heroku-buildpack-chromedriver.git
heroku open実行後、フォームにURLを入れ実行するとURLが@user.urlに代入されSeleniumの関連のコードを書いたメソッドが行われている?(メソッド内のp "here"などはログに表示されていて、アプリのエラーもない)のですが、肝心の画面表示がされず、入力の訂正や追加などができません。headlessオプションもコメントアウトしていたのにheadlessで起動してしまっているのでしょうか。
herokuにheadlessではなくseleniumを起動する方法、もしくはheadlessで動いているものを画面表示にしてこのWebアプリに組み込む方法はないでしょうか。
あなたの回答
tips
プレビュー