130 / 103 / 29
Регистрация: 12.06.2011
Сообщений: 1,142
1

Использую Селениум: как узнать адрес прокси-сервера, использованный при создании вебдрайвера?

23.07.2018, 19:56. Показов 1991. Ответов 5
Метки нет (Все метки)

У меня функция возвращает объект класса WebDriver. При этом я использую Хром.

Python
1
2
3
4
5
from selenium.webdriver import Chrome
 
proxy-server = "94.242.58.108:1448"
chrome_options.add_argument('--proxy-server=proxy-server)
driver = Chrome(chrome_options=chrome_options)

Соответственно, я получаю объект. И хочу узнать, какой же задействован прокси-сервер.

Мне нужен адрес прокси-сервера. WebDriver его знает, должно быть. Если я не смогу его выяснить у данного экземпляра класса, мне придется возвращать из функции кортеж

Python
1
return (driver, proxy-server)
Мне бы этого не хотелось.

Не могли бы вы подсказать мне, как узнать адрес прокси-сервера у объекта driver?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.07.2018, 19:56
Ответы с готовыми решениями:

Как узнать системные настройки прокси (IP-адрес, порт)?
Как можно узнать системные настройки прокси, если нет доступа к ним через IE, однако другие...

Сокеты: как узнать ip адрес сервера?
Здравствуйте! У меня есть клиент-серверное приложение, но оно основано на том, что я заранее знаю...

Как узнать mac адрес сервера
День добрый. Известен IP и порт, после\перед подключения хочу узнать mac сервера. Можно ли...

MySQL Server как узнать IP-адрес локального сервера?
Продолжение темы Здравствуйте. Нужно подключиться к БД MySQL на локальном сервере. Для этого...

5
Эксперт Python
5395 / 3819 / 1213
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
23.07.2018, 20:10 2
Цитата Сообщение от Kifsif Посмотреть сообщение
WebDriver его знает, должно быть
Ну как то так:
Python
1
print(driver.service.service_args) # ['--proxy=127.0.0.1:9050', '--proxy-type=socks5', '--cookies-file=C:\\Users\\Garry\\AppData\\Local\\Temp\\tmpn3g_p_1m']
1
130 / 103 / 29
Регистрация: 12.06.2011
Сообщений: 1,142
23.07.2018, 22:47  [ТС] 3
Спасибо за ответ. Но не получается. Скриншот прилагаю. Пустой service_args.
0
130 / 103 / 29
Регистрация: 12.06.2011
Сообщений: 1,142
23.07.2018, 22:50  [ТС] 4
Скриншот.
Миниатюры
Использую Селениум: как узнать адрес прокси-сервера, использованный при создании вебдрайвера?  
0
Эксперт Python
5395 / 3819 / 1213
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
24.07.2018, 00:59 5
Kifsif,
А driver...chrome_options или driver.что-то_там.chrome_options ?
У меня service_args передаются PhantomJS через аргумент service_args. У хрома свои опции значит.
По докам у объекта selenium.webdriver.chrome.options.Options есть свойство arguments
Returns a list of arguments needed for the browser
Может там все переданные опции.
1
130 / 103 / 29
Регистрация: 12.06.2011
Сообщений: 1,142
24.07.2018, 09:11  [ТС] 6
У меня вот так:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
chrome_options = webdriver.ChromeOptions()
 
def get_driver(use_proxy=False):
    if use_proxy:
        a_proxy = get_proxy()
        desired_capabilities = DesiredCapabilities.CHROME.copy()
        desired_capabilities["proxy"] = {'proxyType': 'MANUAL',
         'httpProxy': a_proxy, 'autodetect': False}
        # chrome_options.add_argument('--proxy-server={}'.format(a_proxy))
        # driver = Chrome(chrome_options=chrome_options, )
        driver = Chrome(desired_capabilities=desired_capabilities)
    else:
        driver = Chrome()
    driver.implicitly_wait(WAIT_PERIOD)
    driver.set_page_load_timeout(WAIT_PERIOD)
 
    return driver
В середине кода закомментаренный кусок. Это тоже рабочий вариант. Иначе говоря, можно и через desird_capabilities, и через chrome.options - работает через прокси. Я проверял - отправлял запросы на сайт, показывающий ip, и смотрел, откуда он получил запрос.
Т.е. работает-то через прокси, а где же он его хранит? Вот загадка. Что-то я не так делаю.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.07.2018, 09:11
Помогаю со студенческими работами здесь

Как узнать IP адрес сервера у которого уже нет домена?
Случай такой: есть фтп сервер на него заходил через доменное имя: ftp://domen.ru:port, но недавно...

Как узнать IP адрес сервера, что бы подключиться к нему с другого компьютера?
Есть простой сервер, который выводит сообщение HELLO при подключении. import java.io.*;...

Автоматически назначается адрес прокси сервера
Здраствуйте! проблема, в доступе в ітернет. Любым браузером, проблема прокси сервера. мною прокси...

узнать адрес хоста сквозь прокси
как узнать адрес удалённого хоста via proxy? например агава.ру показала мне не только адрес нашего...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru