Skip to content

Commit 9bfb0ff

Browse files
committed
selenium features
1 parent 943869f commit 9bfb0ff

File tree

2 files changed

+24
-8
lines changed

2 files changed

+24
-8
lines changed
Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,13 @@
66
3. [OperaDriver Releases](https://github.com/operasoftware/operachromiumdriver/releases)
77
4. [Edge WebDriver](https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/)
88

9-
## snippets
9+
## selenium examples
10+
11+
### [selenium with additional parameters](./selenium_headless.debug.md)
12+
13+
### [selenium stealth](./selenium_headless_stealth.debug.md)
14+
15+
### minimal example
1016
```py
1117
from selenium.webdriver import Firefox
1218
>>> from selenium.webdriver.firefox.options import Options

selenium/selenium_headless.debug.md

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,28 +15,38 @@ import os
1515
import time
1616
from typing import List
1717

18+
1819
webdriver_path = os.environ.get("GECKO_DRIVER")
1920
MAX_PAGE_SIZE=999
2021

2122
options = Options()
2223
# options.add_argument('--headless')
2324
options.add_argument('--disable-gpu')
25+
2426
options.set_preference("general.useragent.override", "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0")
2527
# Make browser automation less detectable
2628
options.set_preference("dom.webdriver.enabled", False)
2729
options.set_preference('useAutomationExtension', False)
2830

31+
options.add_argument("--disable-infobars")
32+
options.set_preference("excludeSwitches", "enable-automation")
33+
34+
## emulate user's profile
2935
# options.set_preference('--user-data-dir', '/tmp/selenium-browser')
3036
# options.set_preference('--profile-directory', 'Default')
3137

32-
33-
service = Service(webdriver_path)
34-
# https://www.selenium.dev/documentation/
35-
driver = webdriver.Firefox(service=service, options=options)
36-
# driver = webdriver.Chrome(service=service, options=options)
38+
driver = webdriver.Firefox(service=Service(webdriver_path), options=options) # driver = webdriver.Chrome(service=service, options=options)
3739
driver.implicitly_wait(5)
38-
```
3940

41+
## doesn't work
42+
43+
## arguments
44+
# options.add_argument("--disable-blink-features=AutomationControlled")
45+
# options.add_argument("--timezone=Europe/Berlin")
46+
47+
## driver after creation adjustment
48+
# driver.execute_cdp_cmd("Emulation.setTimezoneOverride",{"timezoneId": "Europe/Berlin"} )
49+
```
4050

4151
```py
4252
url='https://www.rewe.de/angebote/nationale-angebote/'
@@ -58,6 +68,6 @@ shadow_root = driver.execute_script('return arguments[0].shadowRoot', host_eleme
5868
button_inside_shadow = shadow_root.find_element(By.CSS_SELECTOR, click_shadow_root_button_before[1])
5969
# driver.execute_script('return arguments[0].click()', button_inside_shadow)
6070
button_inside_shadow.click()
61-
6271
```
6372

73+
##

0 commit comments

Comments
 (0)