Не могу изменить свой user-agent при использовании библиотеки selenium

Baxudo

Новичок
Пользователь
Июн 6, 2021
14
0
1
Операционная система - Windows. Версия python - 3.9.5. Версия библиотек - selenium - 3.141.
Python:
from selenium import webdriver
import time

url = 'https://intoli.com/blog/not-possible-to-block-chrome-headless/chrome-headless-test.html'
options = webdriver.ChromeOptions()
options.add_argument("user-agent = Hello World")
 
driver = webdriver.Chrome(executable_path = 'F:\\Python\\Директория\\chromedriver.exe', options=options)

try:
    driver.get(url = url)
    time.sleep(100)

except Exception as ex:
    print(ex)

finally:
    driver.close()
    driver.quit()
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Полазил по интернету и обнаружил проблему - код устарел и не подходит под Windows 10
Проверил свой код на Windows 10 и Python 3.9 - все работает (сайт открывается, user-agent устанавливается).
Но решив одну проблему я столкнулся с другой - теперь сайт не открывается
Сайт не открывается потому что код в этой строке
Python:
options.add_argument("--headless")
активирует headless режим, а в нем сайты не отображаются в браузере.
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Не работает код
Если запустить код, то он откроет страницу
Код:
https://intoli.com/blog/not-possible-to-block-chrome-headless/chrome-headless-test.html
на странице есть таблица, в строке user-agent там будет написано то, что указано в скрипте (whatever you want).
Также проверить что user-agent устанавливается можно с помощью такого кода:
Python:
user-agent = driver.execute_script("return navigator.userAgent")
print(user-agent)
 

Baxudo

Новичок
Пользователь
Июн 6, 2021
14
0
1
Не работает код. Сайты просто не видят мой user-agent. Информацию брал с канала python today - серия уроков по selenium (где-то 8-9 месяцев назад)
Вот пример:
Python:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time


opts = Options()
opts.add_argument("user-agent=whatever you want")

driver = webdriver.Chrome(options=opts)

url = 'https://intoli.com/blog/not-possible-to-block-chrome-headless/chrome-headless-test.html'
driver.get(url)
time.sleep(100)

driver.close()
driver.quit()
 

Baxudo

Новичок
Пользователь
Июн 6, 2021
14
0
1
Если запустить код, то он откроет страницу
Код:
https://intoli.com/blog/not-possible-to-block-chrome-headless/chrome-headless-test.html
на странице есть таблица, в строке user-agent там будет написано то, что указано в скрипте (whatever you want).
Также проверить что user-agent устанавливается можно с помощью такого кода:
Python:
user-agent = driver.execute_script("return navigator.userAgent")
print(user-agent)
Полазил по интернету и обнаружил проблему - код устарел и не подходит под Windows 10. Вот решение проблемы:
options = webdriver.ChromeOptions()
options.add_argument('--headless')
driver = webdriver.Chrome(executable_path=r'C:\chromedriver_win32\chromedriver.exe', options=options)
Но решив одну проблему я столкнулся с другой - теперь сайт не открывается, а программа выводит следующее:Вывод программы.png
Вот общий код программы:
Python:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

url = 'https://intoli.com/blog/not-possible-to-block-chrome-headless/chrome-headless-test.html'

options = Options()
options.add_argument("--headless")
options.add_argument("--disable-blink-features=AutomationControlled")

driver = webdriver.Chrome(executable_path = 'F:\\Python\\Директория\\chromedriver.exe', options=options)

try:
    driver.get(url = url)
    time.sleep(100)
except Exception as ex:
    print(ex)

finally:
    driver.close()
    driver.quit()
 
-1

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Не могу изменить свой user-agent при использовании библиотеки selenium
Вот пример:
Python:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time


opts = Options()
opts.add_argument("user-agent=whatever you want")

driver = webdriver.Chrome(options=opts)

url = 'https://intoli.com/blog/not-possible-to-block-chrome-headless/chrome-headless-test.html'
driver.get(url)
time.sleep(100)

driver.close()
driver.quit()
 

Форум IT Специалистов