Purpose
Submit a user-provided contact request through BrandSimpli's contact form without navigating through the homepage.
When to Use
Use for any task that requires sending a message to BrandSimpli through the website contact form. Supply values for {first-name}, {last-name}, {company}, {email}, and {message}. Optionally choose {phone-contact-choice} and {interest} when specified by the caller; otherwise use the site's appropriate defaults.
Workflow
- Navigate directly to
https://brandsimpli.com/kontakt/. - If the CookieScript consent overlay is present, reject cookies with
div#cookiescript_reject; close the banner withdiv#cookiescript_closeif still visible. - Wait for
form[aria-label='Kontaktformular']. - Fill the form using these stable selectors:
input[name='vorname']={first-name}input[name='nachname']={last-name}input[name='unternehmen']={company}input[name='email']={email}textarea[name='nachricht']={message}
- Select the requested phone-contact option using
input[name='telefonisch-kontaktieren[]'][value='{phone-contact-choice}']and the requested subject usinginput[name='interesse[]'][value='{interest}']. Do not select contradictory options. - Solve any CAPTCHA that appears before submission.
- Submit with the form's submit control, preferably
form[aria-label='Kontaktformular'] input[type='submit']. - Wait for the submission response and run the extractor below to verify whether a confirmation is visible. Report failure if the form remains populated with a validation error or no success indication appears.
Runnable extractor for the loaded contact page or post-submit response:
(() => {
const form = document.querySelector("form[aria-label='Kontaktformular']");
const value = (name) => form?.querySelector(`[name='${name}']`)?.value ?? null;
const checked = (name) =>
[...(form?.querySelectorAll(`[name='${name}']`) || [])]
.filter((el) => el.checked)
.map((el) => el.value);
const text = document.body?.innerText || "";
const confirmation =
[
...document.querySelectorAll(
'.wpcf7-response-output,[role="alert"],.success,.confirmation,.thank-you,h1,h2,h3,p',
),
]
.map((el) => el.innerText.trim())
.filter(Boolean)
.find((t) =>
/thank|danke|erfolgreich|gesendet|übermittelt|vielen dank/i.test(t),
) || null;
return {
formPresent: !!form,
submitted:
!!confirmation &&
!/fehler|error|ungültig|required|pflichtfeld/i.test(confirmation),
confirmationText: confirmation,
fields: {
firstName: value("vorname"),
lastName: value("nachname"),
company: value("unternehmen"),
email: value("email"),
message: value("nachricht"),
},
phoneContactChoices: checked("telefonisch-kontaktieren[]"),
interests: checked("interesse[]"),
pageContainsValidationError: /fehler|error|ungültig|pflichtfeld|required/i.test(
text,
),
};
})();Site-Specific Gotchas
- The contact page is directly available at
/kontakt/; a homepage visit and menu click are unnecessary. - CookieScript may block interaction. Its observed controls are
#cookiescript_rejectand#cookiescript_close. - The form is identified by
aria-label='Kontaktformular', and the German field names above are more stable than positional selectors. - The phone and interest controls are checkbox groups with array-style names. Select by their
value, not bynth-of-type. - CAPTCHA solving may be required before the submit action; wait for it to complete before submitting.
- Success-message selectors beyond the form are not guaranteed by the observed run, so verify the returned page rather than assuming a click succeeded.
Expected Output
Return whether the message was submitted, the visible confirmation text, and the selected form values in the extractor's object shape. If CAPTCHA, validation, or consent prevents submission, report the blocking condition instead of claiming success.