A Swift headless browser based on WebKit for functional testing and webpage manipulation via JavaScript.
Erik is a headless browser library for Swift, built on WebKit and the Kanna HTML parser. It allows developers to programmatically control a browser, run functional tests, and manipulate webpages using JavaScript, all within iOS and macOS applications.
iOS and macOS developers who need to automate browser interactions, perform functional testing, or scrape web content within their Swift applications.
Erik provides a native Swift interface to WebKit, making it easier to integrate headless browsing into Apple platform projects compared to using external tools or bridging to other languages.
Erik is an headless browser based on WebKit. An headless browser allow to run functional tests, to access and manipulate webpages using javascript.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built specifically for iOS and macOS with a pure Swift API, allowing seamless integration into Apple ecosystem projects without bridging to other languages, as emphasized in the philosophy.
Leverages WebKit for a headless browsing environment, providing a performant and familiar base for Apple developers, with navigation control and JavaScript evaluation directly in Swift.
Uses the Kanna HTML parser to support CSS selectors for inspecting and manipulating DOM elements, enabling easy HTML inspection and form interaction, as shown in the code examples.
Offers optional promise-based APIs with BrightFutures for cleaner handling of asynchronous tasks like navigation and JavaScript evaluation, improving code readability in complex workflows.
Exclusively supports iOS and macOS, making it unsuitable for cross-platform development or server-side use cases, limiting its applicability beyond Apple ecosystems.
On iOS 9 and macOS 10.11, https is enforced due to App Transport Security, which can complicate testing with local or insecure servers, as admitted in the limitations section.
Key features like WKWebView screenshot are listed as work in progress on the roadmap, indicating that some capabilities are not yet fully implemented or reliable.
Erik is an open-source alternative to the following products: