Compare commits

...

6 Commits

Author SHA1 Message Date
dgtlmoon
27db6bcc13 Merge branch 'master' into 1800-selenium-socks5-auth 2023-10-10 10:12:28 +02:00
dgtlmoon
fd01a13314 try update both in sync 2023-10-09 17:26:15 +02:00
dgtlmoon
3b4b10f22f try dev 2023-10-09 17:14:20 +02:00
dgtlmoon
5801c0f2c8 oops 2023-10-09 16:54:12 +02:00
dgtlmoon
8547894b65 fix import 2023-10-09 16:52:30 +02:00
dgtlmoon
c06bc7d018 Re #1800 - Try updating to latest selenium 2023-10-09 16:48:58 +02:00
3 changed files with 22 additions and 3 deletions

View File

@@ -29,7 +29,8 @@ jobs:
docker network create changedet-network
# Selenium+browserless
docker run --network changedet-network -d --hostname selenium -p 4444:4444 --rm --shm-size="2g" selenium/standalone-chrome-debug:3.141.59
# 117.0 didnt work.. try dev
docker run --network changedet-network -d --hostname selenium -p 4444:4444 --rm --shm-size="2g" selenium/standalone-chrome:117.0
docker run --network changedet-network -d --hostname browserless -e "FUNCTION_BUILT_INS=[\"fs\",\"crypto\"]" -e "DEFAULT_LAUNCH_ARGS=[\"--window-size=1920,1080\"]" --rm -p 3000:3000 --shm-size="2g" browserless/chrome:1.53-chrome-stable
- name: Build changedetection.io container for testing

View File

@@ -601,6 +601,24 @@ class base_html_webdriver(Fetcher):
proxy_args['httpProxy'] = proxy_override
if proxy_args:
# Convert socks5:// to selenium SOCKS5 correct config
o = urlparse(proxy_args.get('httpProxy', ''))
# https://github.com/tebeka/selenium/issues/167
# https://github.com/SeleniumHQ/selenium/issues/6917
if o.scheme == 'socks5':
if proxy_args.get('httpProxy'):
del(proxy_args['httpProxy'])
path = "/" + o.path if o.path else ''
if not o.port:
raise Exception("No Port number specific in this proxy config URL")
proxy_args['socksProxy'] = f"{o.hostname}:{o.port}{path}"
proxy_args['socksVersion'] = 5
proxy_args['proxyType'] = 'MANUAL'
if o.username:
proxy_args['socksUsername'] = o.username
proxy_args['socksPassword'] = o.password
self.proxy = SeleniumProxy(raw=proxy_args)
def run(self,

View File

@@ -49,8 +49,8 @@ beautifulsoup4
# XPath filtering, lxml is required by bs4 anyway, but put it here to be safe.
lxml
# 3.141 was missing socksVersion, 3.150 was not in pypi, so we try 4.1.0
selenium~=4.1.0
# 3.141 was missing socksVersion, 3.150 was not in pypi, so we try 4.13.0 which should also fix socks authentication problems
selenium~=4.13.0
# https://stackoverflow.com/questions/71652965/importerror-cannot-import-name-safe-str-cmp-from-werkzeug-security/71653849#71653849
# ImportError: cannot import name 'safe_str_cmp' from 'werkzeug.security'