Skip to content

Commit 2147639

Browse files
committed
commands with enum
1 parent 776192c commit 2147639

File tree

4 files changed

+20
-17
lines changed

4 files changed

+20
-17
lines changed

dependencies/requirements_0.txt

-1
This file was deleted.

pieces/SeleniumWebBrowserPiece/metadata.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
"memory": 128
1111
},
1212
"limits": {
13-
"cpu": 100,
14-
"memory": 128
13+
"cpu": 1000,
14+
"memory": 1024
1515
}
1616
},
1717
"tags": [

pieces/SeleniumWebBrowserPiece/models.py

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
from pydantic import BaseModel, Field
22
from typing import List
3+
from enum import Enum
34

5+
class Commands(str,Enum):
6+
get="get"
7+
maximize_window="maximize_window"
8+
save_screenshot="save_screenshot"
49
class CommandInput(BaseModel):
5-
name: str
6-
cmd: str
7-
stop_on_error: bool
10+
name: Commands
11+
value: str
812

913
class CommandOutput(BaseModel):
1014
name: str
+11-11
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from domino.base_piece import BasePiece
2-
from .models import InputModel, OutputModel, CommandOutput
2+
from .models import InputModel, OutputModel,CommandInput, CommandOutput
33
from selenium import webdriver
44
from selenium.webdriver.chrome.options import Options
5-
5+
from pathlib import Path
66
class SeleniumWebBrowserPiece(BasePiece):
77

88
def piece_function(self, input_data: InputModel):
@@ -15,18 +15,18 @@ def piece_function(self, input_data: InputModel):
1515
self.logger.info("Start chrome web driver.")
1616
driver = webdriver.Chrome(options=options)
1717

18-
self.logger.info("Going to URL.")
19-
driver.get("https://webscraper.io/test-sites/e-commerce/static")
20-
21-
self.logger.info("Maximize window.")
22-
driver.maximize_window()
23-
24-
self.logger.info("Taking screenshot.")
25-
driver.save_screenshot('ss.png')
18+
results_path = Path(self.results_path)
2619

27-
self.logger.info("Quit chrome driver.")
20+
for cmd in input_data.commands:
21+
if cmd.name.value == "save_screenshot":
22+
cmd.value = str(results_path/cmd.value)
23+
self.display_result = dict(file_type="png",filepath=cmd.value)
24+
25+
getattr(driver, cmd.name)(cmd.value)
26+
2827
driver.quit()
2928

3029
return OutputModel(
3130
outputs=[dict(name="out1", result="res1")]
3231
)
32+

0 commit comments

Comments
 (0)