From 20dccc55270271876eaa74fe04e2264ac4dfb8ed Mon Sep 17 00:00:00 2001 From: Jayden Pyles <111098627+jaypyles@users.noreply.github.com> Date: Sun, 8 Jun 2025 18:14:02 -0500 Subject: [PATCH] feat: edit ui + add return html option (#90) * fix: restyle the element table * chore: wip ui * wip: edit styles * feat: add html return * fix: build * fix: workflow * fix: workflow * fix: workflow * fix: workflow * fix: workflow * fix: workflow * fix: workflow * fix: cypress test * chore: update photo [skip ci] --- .github/actions/run-cypress-tests/action.yaml | 5 +- .github/workflows/cypress-tests.yml | 7 +- .github/workflows/tests.yml | 1 - api/backend/ai/agent/agent.py | 4 +- api/backend/ai/agent/utils.py | 19 +- api/backend/job/models/job_options.py | 1 + api/backend/job/scraping/scraping.py | 18 +- cypress/utilities/job.utilities.ts | 8 +- docs/main_page.png | Bin 49215 -> 68343 bytes .../advanced-job-options.tsx | 36 +- .../dialog/advanced-job-options-dialog.tsx | 38 +- src/components/jobs/job-queue.tsx | 1 + src/components/pages/home/home.tsx | 21 +- .../element-table/element-table.tsx | 356 +++++++++++------- .../job-submitter-header.module.css | 11 + .../job-submitter-header.tsx | 14 +- .../job-submitter-input.module.css | 52 +++ .../job-submitter-input.tsx | 15 +- .../submit/job-submitter/job-submitter.tsx | 46 ++- .../site-map-input/site-map-input.tsx | 103 +++-- .../job-submitter/site-map/site-map.tsx | 155 ++++++-- src/hooks/use-advanced-job-options.ts | 1 + src/lib/helpers/parse-job-options.ts | 5 + .../api-service/functions/delete-cron-jobs.ts | 2 +- src/types/job.ts | 2 + 25 files changed, 633 insertions(+), 288 deletions(-) diff --git a/.github/actions/run-cypress-tests/action.yaml b/.github/actions/run-cypress-tests/action.yaml index ba8ddf4..0061f6b 100644 --- a/.github/actions/run-cypress-tests/action.yaml +++ b/.github/actions/run-cypress-tests/action.yaml @@ -73,5 +73,8 @@ runs: - name: Run Cypress tests shell: bash - run: npm run cy:run + run: | + set -e + npm run cy:run + diff --git a/.github/workflows/cypress-tests.yml b/.github/workflows/cypress-tests.yml index f77b39c..ecd34b8 100644 --- a/.github/workflows/cypress-tests.yml +++ b/.github/workflows/cypress-tests.yml @@ -18,15 +18,14 @@ jobs: uses: ./.github/actions/run-cypress-tests with: openai_key: ${{ secrets.openai_key }} - continue-on-error: true - name: Check container logs on failure - if: steps.run-tests.outcome == 'failure' + if: steps.run-tests.conclusion == 'failure' run: | echo "Cypress tests failed. Dumping container logs..." docker logs scraperr_api || true - name: Fail job if Cypress failed - if: steps.run-tests.outcome == 'failure' + if: steps.run-tests.conclusion == 'failure' run: exit 1 - - uses: actions/checkout@v4 + diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 0af91e7..789e2d8 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -22,7 +22,6 @@ jobs: uses: ./.github/actions/run-cypress-tests with: openai_key: ${{ secrets.openai_key }} - continue-on-error: true success-message: runs-on: ubuntu-latest diff --git a/api/backend/ai/agent/agent.py b/api/backend/ai/agent/agent.py index d788e30..c594c4c 100644 --- a/api/backend/ai/agent/agent.py +++ b/api/backend/ai/agent/agent.py @@ -63,7 +63,9 @@ async def scrape_with_agent(agent_job: dict[str, Any]): xpaths = parse_response(response) - captured_elements = await capture_elements(page, xpaths) + captured_elements = await capture_elements( + page, xpaths, agent_job["job_options"]["return_html"] + ) final_url = page.url diff --git a/api/backend/ai/agent/utils.py b/api/backend/ai/agent/utils.py index 5413a6f..1bc84bb 100644 --- a/api/backend/ai/agent/utils.py +++ b/api/backend/ai/agent/utils.py @@ -206,7 +206,7 @@ def parse_next_page(text: str) -> str | None: async def capture_elements( - page: Page, xpaths: list[dict[str, str]] + page: Page, xpaths: list[dict[str, str]], return_html: bool ) -> list[CapturedElement]: captured_elements = [] seen_texts = set() @@ -217,6 +217,23 @@ async def capture_elements( count = await locator.count() for i in range(count): + if return_html: + element_text = ( + await page.locator(f"xpath={xpath['xpath']}") + .nth(i) + .inner_html() + ) + + seen_texts.add(element_text) + captured_elements.append( + CapturedElement( + name=xpath["name"], + text=element_text, + xpath=xpath["xpath"], + ) + ) + continue + element_text = "" element_handle = await locator.nth(i).element_handle() diff --git a/api/backend/job/models/job_options.py b/api/backend/job/models/job_options.py index 9e415c5..f3547de 100644 --- a/api/backend/job/models/job_options.py +++ b/api/backend/job/models/job_options.py @@ -25,3 +25,4 @@ class JobOptions(BaseModel): site_map: Optional[SiteMap] = None collect_media: bool = False custom_cookies: list[dict[str, Any]] = [] + return_html: bool = False diff --git a/api/backend/job/scraping/scraping.py b/api/backend/job/scraping/scraping.py index 743f9b9..bfc5ead 100644 --- a/api/backend/job/scraping/scraping.py +++ b/api/backend/job/scraping/scraping.py @@ -110,7 +110,9 @@ async def make_site_request( ) -async def collect_scraped_elements(page: tuple[str, str], xpaths: list[Element]): +async def collect_scraped_elements( + page: tuple[str, str], xpaths: list[Element], return_html: bool +): soup = BeautifulSoup(page[0], "lxml") root = etree.HTML(str(soup)) @@ -120,6 +122,16 @@ async def collect_scraped_elements(page: tuple[str, str], xpaths: list[Element]) el = sxpath(root, elem.xpath) for e in el: # type: ignore + if return_html: + elements[elem.name] = [ + CapturedElement( + xpath=elem.xpath, + text=page[0], + name=elem.name, + ) + ] + continue + text = ( " ".join(str(t) for t in e.itertext()) if isinstance(e, etree._Element) @@ -161,6 +173,8 @@ async def scrape( elements: list[dict[str, dict[str, list[CapturedElement]]]] = [] for page in pages: - elements.append(await collect_scraped_elements(page, xpaths)) + elements.append( + await collect_scraped_elements(page, xpaths, job_options["return_html"]) + ) return elements diff --git a/cypress/utilities/job.utilities.ts b/cypress/utilities/job.utilities.ts index d32f0cb..7d153ce 100644 --- a/cypress/utilities/job.utilities.ts +++ b/cypress/utilities/job.utilities.ts @@ -100,13 +100,13 @@ export const waitForJobCompletion = (url: string) => { }; export const enableMultiPageScraping = () => { - cy.get("button").contains("Advanced Job Options").click(); + cy.get("button").contains("Advanced Options").click(); cy.get('[data-cy="multi-page-toggle"]').click(); cy.get("body").type("{esc}"); }; export const addCustomHeaders = (headers: Record) => { - cy.get("button").contains("Advanced Job Options").click(); + cy.get("button").contains("Advanced Options").click(); cy.get('[name="custom_headers"]').type(JSON.stringify(headers), { parseSpecialCharSequences: false, }); @@ -114,13 +114,13 @@ export const addCustomHeaders = (headers: Record) => { }; export const addCustomCookies = (cookies: Record) => { - cy.get("button").contains("Advanced Job Options").click(); + cy.get("button").contains("Advanced Options").click(); cy.get('[name="custom_cookies"]').type(JSON.stringify(cookies)); cy.get("body").type("{esc}"); }; export const openAdvancedJobOptions = () => { - cy.get("button").contains("Advanced Job Options").click(); + cy.get("button").contains("Advanced Options").click(); }; export const selectJobFromSelector = () => { diff --git a/docs/main_page.png b/docs/main_page.png index 1e351a390392f2fed8a5e2a2e95652d61e6bc982..5e61aa7066d4ad9462d9b3e2e28f4d3770a9c4e4 100644 GIT binary patch literal 68343 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

S(of3;x#wCEI$ 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%0A1vB=xCTZg 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 diff --git a/src/components/common/advanced-job-options/advanced-job-options.tsx b/src/components/common/advanced-job-options/advanced-job-options.tsx index 6156a89..f563691 100644 --- a/src/components/common/advanced-job-options/advanced-job-options.tsx +++ b/src/components/common/advanced-job-options/advanced-job-options.tsx @@ -1,7 +1,8 @@ -import { Box, Link, Typography } from "@mui/material"; -import { SetStateAction, Dispatch, useState } from "react"; -import { AdvancedJobOptionsDialog } from "./dialog/advanced-job-options-dialog"; import { RawJobOptions } from "@/types"; +import SettingsIcon from "@mui/icons-material/Settings"; +import { Box, Button, Typography } from "@mui/material"; +import { Dispatch, SetStateAction, useState } from "react"; +import { AdvancedJobOptionsDialog } from "./dialog/advanced-job-options-dialog"; export type AdvancedJobOptionsProps = { jobOptions: RawJobOptions; @@ -17,26 +18,27 @@ export const AdvancedJobOptions = ({ const [open, setOpen] = useState(false); return ( - - + (jobOptions); - // Update local state when prop changes useEffect(() => { setLocalJobOptions(jobOptions); }, [jobOptions]); - const handleMultiPageScrapeChange = () => { + const handleCheckboxChange = (key: keyof RawJobOptions) => { setLocalJobOptions((prevJobOptions) => ({ ...prevJobOptions, - multi_page_scrape: !prevJobOptions.multi_page_scrape, + [key]: !prevJobOptions[key], })); }; @@ -65,15 +64,7 @@ export const AdvancedJobOptionsDialog = ({ })); }; - const handleCollectMediaChange = () => { - setLocalJobOptions((prevJobOptions) => ({ - ...prevJobOptions, - collect_media: !prevJobOptions.collect_media, - })); - }; - const handleClose = () => { - // Save the local state back to the parent before closing setJobOptions(localJobOptions); onClose(); }; @@ -137,7 +128,7 @@ export const AdvancedJobOptionsDialog = ({ control={ handleCheckboxChange("multi_page_scrape")} disabled={!multiPageScrapeEnabled} /> } @@ -158,11 +149,12 @@ export const AdvancedJobOptionsDialog = ({ } /> + handleCheckboxChange("collect_media")} data-cy="collect-media-checkbox" /> } @@ -177,6 +169,26 @@ export const AdvancedJobOptionsDialog = ({ } /> + + handleCheckboxChange("return_html")} + data-cy="return-html-checkbox" + /> + } + label={ + + Return HTML + + + + + + + } + /> diff --git a/src/components/jobs/job-queue.tsx b/src/components/jobs/job-queue.tsx index 3fe205a..edddae0 100644 --- a/src/components/jobs/job-queue.tsx +++ b/src/components/jobs/job-queue.tsx @@ -213,6 +213,7 @@ export const JobQueue = ({ query: { url: row.url, prompt: row.prompt, + job_options: JSON.stringify(row.job_options), }, }); } else { diff --git a/src/components/pages/home/home.tsx b/src/components/pages/home/home.tsx index 8b33cd3..7d6b92e 100644 --- a/src/components/pages/home/home.tsx +++ b/src/components/pages/home/home.tsx @@ -1,14 +1,14 @@ "use client"; -import React, { useEffect, useRef } from "react"; -import { Container, Box } from "@mui/material"; -import { useRouter } from "next/router"; -import { ElementTable, JobSubmitter } from "@/components/submit/job-submitter"; -import { useJobSubmitterProvider } from "@/components/submit/job-submitter/provider"; import { ErrorSnackbar, JobNotifySnackbar, } from "@/components/common/snackbars"; +import { ElementTable, JobSubmitter } from "@/components/submit/job-submitter"; +import { useJobSubmitterProvider } from "@/components/submit/job-submitter/provider"; +import { Box, Container } from "@mui/material"; +import { useRouter } from "next/router"; +import { useEffect, useRef } from "react"; export const Home = () => { const { @@ -50,19 +50,18 @@ export const Home = () => { flexDirection="column" justifyContent="center" alignItems="center" - height="100%" + minHeight="100vh" py={4} > - - - - {submittedURL.length > 0 ? ( + + + - ) : null} + {snackbarSeverity === "info" ? ( diff --git a/src/components/submit/job-submitter/element-table/element-table.tsx b/src/components/submit/job-submitter/element-table/element-table.tsx index d693346..7a08aed 100644 --- a/src/components/submit/job-submitter/element-table/element-table.tsx +++ b/src/components/submit/job-submitter/element-table/element-table.tsx @@ -1,24 +1,24 @@ "use client"; -import React, { useState, Dispatch, SetStateAction } from "react"; +import { Element } from "@/types"; +import AddIcon from "@mui/icons-material/Add"; +import DeleteIcon from "@mui/icons-material/Delete"; import { - Typography, - TextField, - Button, + Box, + Divider, + IconButton, + Paper, Table, TableBody, - TableContainer, TableCell, + TableContainer, TableHead, TableRow, - Box, - IconButton, + TextField, Tooltip, - useTheme, - Divider, + Typography, } from "@mui/material"; -import AddIcon from "@mui/icons-material/Add"; -import { Element } from "@/types"; +import { Dispatch, SetStateAction, useState } from "react"; import { SiteMap } from "../site-map"; interface Props { @@ -28,7 +28,6 @@ interface Props { } export const ElementTable = ({ rows, setRows, submittedURL }: Props) => { - const theme = useTheme(); const [newRow, setNewRow] = useState({ name: "", xpath: "", @@ -42,142 +41,219 @@ export const ElementTable = ({ rows, setRows, submittedURL }: Props) => { }; const handleDeleteRow = (elementName: string) => { - setRows( - rows.filter((r) => { - return elementName !== r.name; - }) - ); + setRows(rows.filter((r) => elementName !== r.name)); }; return ( - - - - Elements to Scrape - + + + + + Elements to Scrape + + + Add elements to scrape from the target URL using XPath selectors + + + -

- - - - - Name - - - XPath - - - Actions - - - - - - - - setNewRow({ ...newRow, name: e.target.value }) - } - /> - - - - setNewRow({ ...newRow, xpath: e.target.value }) - } - /> - - - 0 && newRow.name.length > 0 - ? "Add Element" - : "Fill out all fields to add an element" - } - placement="top" - > - - 0 && newRow.name.length > 0) - } - > - - - - - - - {rows.map((row, index) => ( - - - {row.name} - - - {row.xpath} - - -
+ + + Name + XPath + + Actions + + + + + + + + setNewRow({ ...newRow, name: e.target.value }) + } + sx={{ + "& .MuiOutlinedInput-root": { + borderRadius: 2, + bgcolor: "background.default", + "&:hover": { + "& .MuiOutlinedInput-notchedOutline": { + borderColor: "primary.main", + }, + }, + }, + }} + /> + + + + setNewRow({ ...newRow, xpath: e.target.value }) + } + sx={{ + "& .MuiOutlinedInput-root": { + borderRadius: 2, + bgcolor: "background.default", + "&:hover": { + "& .MuiOutlinedInput-notchedOutline": { + borderColor: "primary.main", + }, + }, + }, + }} + /> + + + 0 && newRow.name.length > 0 + ? "Add Element" + : "Fill out all fields to add an element" + } + placement="top" + > + + 0 && newRow.name.length > 0) + } + sx={{ + bgcolor: "primary.main", + color: "primary.contrastText", + borderRadius: 2, + "&:hover": { + bgcolor: "primary.dark", + transform: "translateY(-1px)", + }, + "&.Mui-disabled": { + bgcolor: "action.disabledBackground", + color: "action.disabled", + }, + }} > - Delete - - - - ))} - -
-
+ + + + + + + {rows.map((row, index) => ( + + + + {row.name} + + + + + {row.xpath} + + + + handleDeleteRow(row.name)} + size="small" + color="error" + sx={{ + "&:hover": { + bgcolor: "error.main", + color: "error.contrastText", + transform: "translateY(-1px)", + }, + }} + > + + + + + ))} + + + + + - - - + ); }; diff --git a/src/components/submit/job-submitter/job-submitter-header/job-submitter-header.module.css b/src/components/submit/job-submitter/job-submitter-header/job-submitter-header.module.css index 89762a2..7bd179e 100644 --- a/src/components/submit/job-submitter/job-submitter-header/job-submitter-header.module.css +++ b/src/components/submit/job-submitter/job-submitter-header/job-submitter-header.module.css @@ -2,3 +2,14 @@ margin-bottom: 1rem; text-align: center; } + +.container { + text-align: left; + margin-bottom: 8px; +} + +.title { + font-weight: 600; + color: var(--mui-palette-text-primary); + margin-bottom: 8px; +} diff --git a/src/components/submit/job-submitter/job-submitter-header/job-submitter-header.tsx b/src/components/submit/job-submitter/job-submitter-header/job-submitter-header.tsx index 7a2fc87..76f47db 100644 --- a/src/components/submit/job-submitter/job-submitter-header/job-submitter-header.tsx +++ b/src/components/submit/job-submitter/job-submitter-header/job-submitter-header.tsx @@ -1,6 +1,6 @@ +import { Box, Typography } from "@mui/material"; import React, { ReactNode } from "react"; -import { Typography } from "@mui/material"; -import classes from "./job-submitter-header.module.css"; +import styles from "./job-submitter-header.module.css"; interface JobSubmitterHeaderProps { title?: string; @@ -8,13 +8,15 @@ interface JobSubmitterHeaderProps { } export const JobSubmitterHeader: React.FC = ({ - title = "Scraping Made Easy", + title = "Scrape Webpage", children, }) => { return ( -
- {title} + + + {title} + {children} -
+ ); }; diff --git a/src/components/submit/job-submitter/job-submitter-input/job-submitter-input.module.css b/src/components/submit/job-submitter/job-submitter-input/job-submitter-input.module.css index e69de29..18b3cc0 100644 --- a/src/components/submit/job-submitter/job-submitter-input/job-submitter-input.module.css +++ b/src/components/submit/job-submitter/job-submitter-input/job-submitter-input.module.css @@ -0,0 +1,52 @@ +.container { + display: flex; + flex-direction: column; + gap: 16px; + align-items: stretch; +} + +@media (min-width: 600px) { + .container { + flex-direction: row; + align-items: center; + } +} + +.input { + width: 100%; +} + +.input :global(.MuiOutlinedInput-root) { + border-radius: 16px; + transition: all 0.2s ease-in-out; +} + +.input + :global(.MuiOutlinedInput-root:hover) + :global(.MuiOutlinedInput-notchedOutline) { + border-color: var(--mui-palette-primary-main); +} + +.submitButton { + height: 48px !important; + border-radius: 16px; + font-size: 1rem !important; + font-weight: 500 !important; +} + +.submitButton:hover { + transform: translateY(-1px); + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); +} + +.submitButton:disabled { + transform: none; + box-shadow: none; +} + +@media (min-width: 600px) { + .submitButton { + min-width: 120px; + height: 56px; + } +} diff --git a/src/components/submit/job-submitter/job-submitter-input/job-submitter-input.tsx b/src/components/submit/job-submitter/job-submitter-input/job-submitter-input.tsx index 28e874d..614a47a 100644 --- a/src/components/submit/job-submitter/job-submitter-input/job-submitter-input.tsx +++ b/src/components/submit/job-submitter/job-submitter-input/job-submitter-input.tsx @@ -1,6 +1,6 @@ -import React from "react"; -import { TextField, Button, CircularProgress } from "@mui/material"; +import { Box, Button, CircularProgress, TextField } from "@mui/material"; import { useJobSubmitterProvider } from "../provider"; +import styles from "./job-submitter-input.module.css"; export type JobSubmitterInputProps = { urlError: string | null; @@ -17,7 +17,7 @@ export const JobSubmitterInput = ({ useJobSubmitterProvider(); return ( -
+ setSubmittedURL(e.target.value)} error={!isValidURL} helperText={!isValidURL ? urlError : ""} - className="rounded-md" + className={styles.input} /> -
+ ); }; diff --git a/src/components/submit/job-submitter/job-submitter.tsx b/src/components/submit/job-submitter/job-submitter.tsx index f52ffce..0d3d845 100644 --- a/src/components/submit/job-submitter/job-submitter.tsx +++ b/src/components/submit/job-submitter/job-submitter.tsx @@ -4,6 +4,7 @@ import { AdvancedJobOptions } from "@/components/common/advanced-job-options"; import { useSubmitJob } from "@/hooks/use-submit-job"; import { parseJobOptions } from "@/lib"; import { useUser } from "@/store/hooks"; +import { Box, Paper } from "@mui/material"; import { useRouter } from "next/router"; import { useEffect } from "react"; import { JobSubmitterHeader } from "./job-submitter-header"; @@ -29,23 +30,34 @@ export const JobSubmitter = () => { await submitJob(submittedURL, rows, user, jobOptions, siteMap, false, null); }; - console.log(jobOptions); - useEffect(() => { - console.log(jobOptions); - }, [jobOptions]); - return ( -
- - - -
+ + + + + + + + + ); }; diff --git a/src/components/submit/job-submitter/site-map/site-map-input/site-map-input.tsx b/src/components/submit/job-submitter/site-map/site-map-input/site-map-input.tsx index 43195bd..94f0487 100644 --- a/src/components/submit/job-submitter/site-map/site-map-input/site-map-input.tsx +++ b/src/components/submit/job-submitter/site-map/site-map-input/site-map-input.tsx @@ -1,17 +1,17 @@ -import { useState } from "react"; -import { useJobSubmitterProvider } from "../../provider"; +import { ActionOption } from "@/types/job"; import { + Box, + Button, + Checkbox, + FormControl, + FormControlLabel, + InputLabel, MenuItem, Select, TextField, - FormControl, - Button, - Checkbox, - FormControlLabel, } from "@mui/material"; -import { ActionOption } from "@/types/job"; -import classes from "./site-map-input.module.css"; -import { clsx } from "clsx"; +import { useState } from "react"; +import { useJobSubmitterProvider } from "../../provider"; export type SiteMapInputProps = { disabled?: boolean; @@ -28,7 +28,6 @@ export const SiteMapInput = ({ clickOnce, input, }: SiteMapInputProps) => { - console.log(clickOnce); const [optionState, setOptionState] = useState( option || "click" ); @@ -43,8 +42,6 @@ export const SiteMapInput = ({ const handleAdd = () => { if (!siteMap) return; - console.log(optionState, xpathState, clickOnceState, inputState); - setSiteMap((prevSiteMap) => ({ ...prevSiteMap, actions: [ @@ -60,6 +57,7 @@ export const SiteMapInput = ({ })); setXpathState(""); + setInputState(""); }; const handleRemove = () => { @@ -72,14 +70,22 @@ export const SiteMapInput = ({ }; return ( -
-
- + + + + Action Type