Оба ответа у меня не сработали, потому что это часть приватного API.
Оформить заказ на github
require "selenium-webdriver" # gem 3.9.0
driver = Selenium::WebDriver.for :firefox
pid = driver.instance_variable_get(:@service)
.instance_variable_get(:@process)
.instance_variable_get(:@pid)
Примечание:
Для тех, кто пытается получить доступ к браузеру с помощью pid, например, выполнить команду kill -9 $pid
. Возможно, это неправильно, потому что я нашел лучшее решение.
В аргументах команды мы можем передавать пользовательские атрибуты.
Я использую это так
@buid = SecureRandom.hex[0..15] # browser unique identifier
options = Selenium::WebDriver::Firefox::Options.new(
args: [
'-headless',
"-buid=#{@buid}",
]
)
Итак, вы можете использовать grep и kill и процесс браузера, и geckodriver.
По exec
$ps aux | awk '/-buid=$generated_pid/ {print $2}' | xargs kill -9
Надеюсь, это поможет!