Я пытаюсь использовать RSelenium с firefox, используя локальный прокси (Tor) на машине linux.
У меня не было проблем с установкой Tor после этого tuto , и командная строка wget -qO - https://api.ipify.org; echo
дает мне новый IP.
Теперь я готов использовать firefox с RSelenium, проходящим через локальный хост Tor на порту 9050:
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 127.0.0.1:9050 *:*
LISTEN 0 128 127.0.0.1:9051 *:*
I используйте автономный селен java (selenium-server-standalone-2.53.0.jar), который отлично работает с обычным RSelenium: вот пример отображения ip на ipchicken
library(RSelenium)
remDr <- remoteDriver(
remoteServerAddr = "localhost",
port = 4444L,
browserName = "firefox"
)
remDr$open()
remDr$navigate("https://ipchicken.com/")
ip <- remDr$findElements(using = "css", value ='b')
print(ip[[1]]$getElementText())
И я получаю свой IP. Теперь я хочу увидеть, как это произойдет с Tor. Таким образом, я пытаюсь добавить опцию прокси при подключении удаленного драйвера с помощью firefox:
eCaps <- list("moz:firefoxOptions" = list(
args = c('--proxy-server=localhost:9050'
)))
remDr <- remoteDriver(
remoteServerAddr = "localhost",
port = 4444L,
browserName = "firefox",
extraCapabilities = eCaps
)
Я пробовал '--proxy-server=localhost:9050'
, '--proxy-server=http://localhost:9050'
, '--proxy-server=socks5://localhost:9050'
, '--proxy-server=127.0.0.1:9050'
, и он не выводил никаких ошибка и дал мне мой первоначальный IP. Так что это не работает. Автономная версия говорит, что она выполняется с параметрами: например
22:59:10.288 INFO - Executing: [new session: Capabilities [{nativeEvents=true, browserName=firefox, javascriptEnabled=true, moz:firefoxOptions={args=--proxy-server= 127.0.0.1:9050}, version=, platform=ANY}]])
22:59:10.297 INFO - Creating a new session for Capabilities [{nativeEvents=true, browserName=firefox, javascriptEnabled=true, moz:firefoxOptions={args=--proxy-server= 127.0.0.1:9050}, version=, platform=ANY}]
22:59:30.323 INFO - Done: [new session: Capabilities [{nativeEvents=true, browserName=firefox, javascriptEnabled=true, moz:firefoxOptions={args=--proxy-server= 127.0.0.1:9050}, version=, platform=ANY}]]
Что я делаю неправильно?
Редактировать
После ответа пользователя1207289 и после того, как понял чтобы вы могли напрямую создать firefox профиль в RSelenium
, я пробовал:
eCaps <- makeFirefoxProfile(list(network.proxy.type = 1,
network.proxy.socks = "127.0.0.1",
network.proxy.socks_port = 9050,
network.proxy.socks_version = 5))
remDr <- remoteDriver(
remoteServerAddr = "localhost",
port = 4444L,
browserName = "firefox",
extraCapabilities = eCaps
)
Я использовал целое число для network.proxy.socks_port
, network.proxy.socks_port
и network.proxy.type
из-за этот вопрос , но попробовал и с персонажем, безуспешно. Я пробовал с network.proxy.socks_version = 5
и без него, но ничего не вышло (я получаю свой обычный ip). Я пробовал network.proxy.socks_port = 9150
, но это не сработало.
Я также пробовал
eCaps <- list("moz:firefoxOptions" = list(
args = c('network.proxy.socks=127.0.0.1:9050' ,'network.proxy.type=1' )
)
)
, но это тоже не сработало.