How to Use Proxies with Selenium: Complete Guide
Configure GProxy proxies with Selenium WebDriver for browser automation and scraping. Covers Chrome, Firefox, headless mode, and proxy authentication.
Prerequisites
- ✓[
- ✓"
- ✓P
- ✓y
- ✓t
- ✓h
- ✓o
- ✓n
- ✓
- ✓3
- ✓.
- ✓8
- ✓+
- ✓
- ✓i
- ✓n
- ✓s
- ✓t
- ✓a
- ✓l
- ✓l
- ✓e
- ✓d
- ✓"
- ✓,
- ✓
- ✓"
- ✓S
- ✓e
- ✓l
- ✓e
- ✓n
- ✓i
- ✓u
- ✓m
- ✓
- ✓4
- ✓.
- ✓x
- ✓
- ✓i
- ✓n
- ✓s
- ✓t
- ✓a
- ✓l
- ✓l
- ✓e
- ✓d
- ✓
- ✓(
- ✓p
- ✓i
- ✓p
- ✓
- ✓i
- ✓n
- ✓s
- ✓t
- ✓a
- ✓l
- ✓l
- ✓
- ✓s
- ✓e
- ✓l
- ✓e
- ✓n
- ✓i
- ✓u
- ✓m
- ✓)
- ✓"
- ✓,
- ✓
- ✓"
- ✓C
- ✓h
- ✓r
- ✓o
- ✓m
- ✓e
- ✓D
- ✓r
- ✓i
- ✓v
- ✓e
- ✓r
- ✓
- ✓o
- ✓r
- ✓
- ✓G
- ✓e
- ✓c
- ✓k
- ✓o
- ✓D
- ✓r
- ✓i
- ✓v
- ✓e
- ✓r
- ✓
- ✓m
- ✓a
- ✓t
- ✓c
- ✓h
- ✓i
- ✓n
- ✓g
- ✓
- ✓y
- ✓o
- ✓u
- ✓r
- ✓
- ✓b
- ✓r
- ✓o
- ✓w
- ✓s
- ✓e
- ✓r
- ✓
- ✓v
- ✓e
- ✓r
- ✓s
- ✓i
- ✓o
- ✓n
- ✓"
- ✓,
- ✓
- ✓"
- ✓G
- ✓P
- ✓r
- ✓o
- ✓x
- ✓y
- ✓
- ✓a
- ✓c
- ✓c
- ✓o
- ✓u
- ✓n
- ✓t
- ✓
- ✓w
- ✓i
- ✓t
- ✓h
- ✓
- ✓a
- ✓c
- ✓t
- ✓i
- ✓v
- ✓e
- ✓
- ✓p
- ✓r
- ✓o
- ✓x
- ✓y
- ✓
- ✓p
- ✓l
- ✓a
- ✓n
- ✓"
- ✓]
Step-by-Step Setup
[
{
"
T
I
T
L
E
"
:
"
I
N
S
T
A
L
L
S
E
L
E
N
I
U
M
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
I
N
S
T
A
L
L
S
E
L
E
N
I
U
M
A
N
D
W
E
B
D
R
I
V
E
R
-
M
A
N
A
G
E
R
"
,
"
C
O
D
E
"
:
"
P
I
P
I
N
S
T
A
L
L
S
E
L
E
N
I
U
M
W
E
B
D
R
I
V
E
R
-
M
A
N
A
G
E
R
"
}
,
{
"
T
I
T
L
E
"
:
"
C
O
N
F
I
G
U
R
E
C
H
R
O
M
E
W
I
T
H
P
R
O
X
Y
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
S
E
T
U
P
C
H
R
O
M
E
W
E
B
D
R
I
V
E
R
W
I
T
H
G
P
R
O
X
Y
"
,
"
C
O
D
E
"
:
"
F
R
O
M
S
E
L
E
N
I
U
M
I
M
P
O
R
T
W
E
B
D
R
I
V
E
R
\
N
F
R
O
M
S
E
L
E
N
I
U
M
.
W
E
B
D
R
I
V
E
R
.
C
H
R
O
M
E
.
O
P
T
I
O
N
S
I
M
P
O
R
T
O
P
T
I
O
N
S
\
N
\
N
O
P
T
S
=
O
P
T
I
O
N
S
(
)
\
N
O
P
T
S
.
A
D
D
_
A
R
G
U
M
E
N
T
(
'
-
-
P
R
O
X
Y
-
S
E
R
V
E
R
=
H
T
T
P
:
/
/
P
R
O
X
Y
.
G
P
R
O
X
Y
.
N
E
T
:
1
0
0
0
'
)
\
N
D
R
I
V
E
R
=
W
E
B
D
R
I
V
E
R
.
C
H
R
O
M
E
(
O
P
T
I
O
N
S
=
O
P
T
S
)
"
}
,
{
"
T
I
T
L
E
"
:
"
H
A
N
D
L
E
P
R
O
X
Y
A
U
T
H
E
N
T
I
C
A
T
I
O
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
F
O
R
A
U
T
H
E
N
T
I
C
A
T
E
D
P
R
O
X
I
E
S
,
C
R
E
A
T
E
A
C
H
R
O
M
E
E
X
T
E
N
S
I
O
N
"
,
"
C
O
D
E
"
:
"
I
M
P
O
R
T
Z
I
P
F
I
L
E
,
J
S
O
N
\
N
\
N
M
A
N
I
F
E
S
T
=
{
\
"
V
E
R
S
I
O
N
\
"
:
\
"
1
.
0
.
0
\
"
,
\
"
M
A
N
I
F
E
S
T
_
V
E
R
S
I
O
N
\
"
:
2
,
\
N
\
"
N
A
M
E
\
"
:
\
"
P
R
O
X
Y
A
U
T
H
\
"
,
\
N
\
"
P
E
R
M
I
S
S
I
O
N
S
\
"
:
[
\
"
P
R
O
X
Y
\
"
,
\
"
W
E
B
R
E
Q
U
E
S
T
\
"
,
\
"
W
E
B
R
E
Q
U
E
S
T
B
L
O
C
K
I
N
G
\
"
,
\
"
<
A
L
L
_
U
R
L
S
>
\
"
]
,
\
N
\
"
B
A
C
K
G
R
O
U
N
D
\
"
:
{
\
"
S
C
R
I
P
T
S
\
"
:
[
\
"
B
A
C
K
G
R
O
U
N
D
.
J
S
\
"
]
}
}
\
N
\
N
B
G
_
J
S
=
'
C
H
R
O
M
E
.
W
E
B
R
E
Q
U
E
S
T
.
O
N
A
U
T
H
R
E
Q
U
I
R
E
D
.
A
D
D
L
I
S
T
E
N
E
R
(
F
U
N
C
T
I
O
N
(
D
)
{
R
E
T
U
R
N
{
A
U
T
H
C
R
E
D
E
N
T
I
A
L
S
:
{
U
S
E
R
N
A
M
E
:
\
"
U
S
E
R
\
"
,
P
A
S
S
W
O
R
D
:
\
"
P
A
S
S
\
"
}
}
;
}
,
{
U
R
L
S
:
[
\
"
<
A
L
L
_
U
R
L
S
>
\
"
]
}
,
[
\
"
B
L
O
C
K
I
N
G
\
"
]
)
;
'
\
N
\
N
W
I
T
H
Z
I
P
F
I
L
E
.
Z
I
P
F
I
L
E
(
'
P
R
O
X
Y
_
A
U
T
H
.
Z
I
P
'
,
'
W
'
)
A
S
Z
P
:
\
N
Z
P
.
W
R
I
T
E
S
T
R
(
'
M
A
N
I
F
E
S
T
.
J
S
O
N
'
,
J
S
O
N
.
D
U
M
P
S
(
M
A
N
I
F
E
S
T
)
)
\
N
Z
P
.
W
R
I
T
E
S
T
R
(
'
B
A
C
K
G
R
O
U
N
D
.
J
S
'
,
B
G
_
J
S
)
\
N
\
N
O
P
T
S
.
A
D
D
_
E
X
T
E
N
S
I
O
N
(
'
P
R
O
X
Y
_
A
U
T
H
.
Z
I
P
'
)
"
}
,
{
"
T
I
T
L
E
"
:
"
A
D
D
R
O
T
A
T
I
O
N
L
O
G
I
C
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
R
O
T
A
T
E
I
P
S
B
Y
C
R
E
A
T
I
N
G
N
E
W
D
R
I
V
E
R
I
N
S
T
A
N
C
E
S
"
,
"
C
O
D
E
"
:
"
D
E
F
G
E
T
_
D
R
I
V
E
R
(
)
:
\
N
O
P
T
S
=
O
P
T
I
O
N
S
(
)
\
N
O
P
T
S
.
A
D
D
_
A
R
G
U
M
E
N
T
(
'
-
-
H
E
A
D
L
E
S
S
=
N
E
W
'
)
\
N
O
P
T
S
.
A
D
D
_
A
R
G
U
M
E
N
T
(
'
-
-
P
R
O
X
Y
-
S
E
R
V
E
R
=
H
T
T
P
:
/
/
P
R
O
X
Y
.
G
P
R
O
X
Y
.
N
E
T
:
1
0
0
0
'
)
\
N
R
E
T
U
R
N
W
E
B
D
R
I
V
E
R
.
C
H
R
O
M
E
(
O
P
T
I
O
N
S
=
O
P
T
S
)
\
N
\
N
F
O
R
U
R
L
I
N
U
R
L
S
:
\
N
D
R
I
V
E
R
=
G
E
T
_
D
R
I
V
E
R
(
)
\
N
D
R
I
V
E
R
.
G
E
T
(
U
R
L
)
\
N
#
.
.
.
E
X
T
R
A
C
T
D
A
T
A
\
N
D
R
I
V
E
R
.
Q
U
I
T
(
)
"
}
,
{
"
T
I
T
L
E
"
:
"
T
E
S
T
T
H
E
S
E
T
U
P
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
V
E
R
I
F
Y
P
R
O
X
Y
I
S
W
O
R
K
I
N
G
"
,
"
C
O
D
E
"
:
"
D
R
I
V
E
R
.
G
E
T
(
'
H
T
T
P
S
:
/
/
H
T
T
P
B
I
N
.
O
R
G
/
I
P
'
)
\
N
P
R
I
N
T
(
D
R
I
V
E
R
.
F
I
N
D
_
E
L
E
M
E
N
T
(
'
T
A
G
N
A
M
E
'
,
'
P
R
E
'
)
.
T
E
X
T
)
"
}
]
Code Examples
Why Use Proxies with Selenium?
Selenium automates real browsers, making it ideal for scraping JavaScript-heavy websites. However, running automated browsers from a single IP quickly triggers anti-bot systems. GProxy's 10M+ residential IPs let you rotate your browser's exit IP, making each session appear as a unique visitor from any of 150+ countries.
Chrome WebDriver Proxy Setup
Chrome supports proxy configuration through ChromeOptions arguments. For simple proxy setups without authentication, pass the --proxy-server argument. For authenticated proxies like GProxy, you'll need a Chrome extension that handles proxy authentication, since Chrome doesn't support username:password in the proxy URL natively.
Firefox WebDriver Proxy Setup
Firefox handles proxy configuration through the FirefoxProfile or Options preferences. Unlike Chrome, Firefox supports proxy authentication through the profile settings, making it slightly easier to configure with GProxy's authenticated endpoints.
Headless Mode Considerations
Running Selenium in headless mode is common for server deployments. Both Chrome and Firefox support headless operation with proxies. Note that some anti-bot systems detect headless browsers — GProxy's residential IPs help, but also consider using undetected-chromedriver or adding realistic browser fingerprints.
Proxy Rotation Strategy
Unlike HTTP libraries, Selenium maintains a browser session, so you can't easily rotate proxies per request. Instead, rotate per session: create a new WebDriver instance with a different proxy for each task. GProxy's backconnect endpoint simplifies this — each new connection automatically gets a fresh IP.
Performance Tips
Browser automation is resource-intensive. To maximize throughput: use headless mode, disable images and CSS loading when not needed, set page load timeouts, and run multiple browser instances in parallel with different GProxy endpoints for IP diversity.
Use Cases
[
{
"
T
I
T
L
E
"
:
"
J
A
V
A
S
C
R
I
P
T
-
H
E
A
V
Y
S
C
R
A
P
I
N
G
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
S
C
R
A
P
E
S
P
A
S
A
N
D
D
Y
N
A
M
I
C
W
E
B
S
I
T
E
S
T
H
A
T
R
E
Q
U
I
R
E
F
U
L
L
B
R
O
W
S
E
R
R
E
N
D
E
R
I
N
G
.
"
}
,
{
"
T
I
T
L
E
"
:
"
F
O
R
M
A
U
T
O
M
A
T
I
O
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
A
U
T
O
M
A
T
E
F
O
R
M
S
U
B
M
I
S
S
I
O
N
S
A
N
D
M
U
L
T
I
-
S
T
E
P
W
O
R
K
F
L
O
W
S
T
H
R
O
U
G
H
P
R
O
X
I
E
D
B
R
O
W
S
E
R
S
.
"
}
,
{
"
T
I
T
L
E
"
:
"
V
I
S
U
A
L
T
E
S
T
I
N
G
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
T
A
K
E
S
C
R
E
E
N
S
H
O
T
S
F
R
O
M
D
I
F
F
E
R
E
N
T
G
E
O
-
L
O
C
A
T
I
O
N
S
U
S
I
N
G
T
A
R
G
E
T
E
D
R
E
S
I
D
E
N
T
I
A
L
P
R
O
X
I
E
S
.
"
}
,
{
"
T
I
T
L
E
"
:
"
A
C
C
O
U
N
T
M
A
N
A
G
E
M
E
N
T
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
M
A
N
A
G
E
M
U
L
T
I
P
L
E
A
C
C
O
U
N
T
S
W
I
T
H
U
N
I
Q
U
E
I
P
S
P
E
R
S
E
S
S
I
O
N
F
O
R
S
A
F
E
A
U
T
O
M
A
T
I
O
N
.
"
}
]
FAQ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Ready to Get Started?
Start with GProxy in minutes — residential proxies from $0.85/GB, IPv6 from $0.03/proxy, pay as you go.
