A Swift headless browser framework for iOS/OSX to automate website navigation, data collection, and testing without a UI.
WKZombie is a Swift framework that provides a headless web browser for iOS and macOS applications. It enables developers to programmatically navigate websites, collect data, and automate interactions without a graphical user interface, using WebKit's WKWebView for rendering and HTML parsing. This is particularly useful for web scraping, automated testing, and manipulating web content using JavaScript.
iOS and macOS developers who need to automate web interactions, such as those building apps for web scraping, automated testing, or data collection without relying on APIs. It is also suitable for developers interested in functional programming approaches in Swift.
Developers choose WKZombie for its functional programming style with action chaining using operators like `>>>` and `===`, making asynchronous web automation code compact and readable. It offers a headless browser solution integrated directly into Swift apps, supporting features like JavaScript execution, snapshot support for visual testing, and authentication handling.
WKZombie is a Swift framework for iOS/OSX to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests / snapshots and manipulate websites using Javascript.
Uses operators like `>>>` and `===` for compact, readable asynchronous code, as shown in the README's automation examples that chain actions like open, click, and submit.
Leverages WebKit's WKWebView for headless browsing within Swift apps, enabling features like snapshot support for visual testing on iOS and seamless app embedding.
Allows running custom JavaScript to manipulate or extract data, demonstrated in README snippets for tasks like retrieving page titles or interacting with elements.
Supports challenges like Basic Auth and self-signed certificates via a configurable authenticationHandler, with code examples provided in the documentation.
Relies on hpple/libxml2 for parsing, which the TODOs section admits is not 'Swifty' and plans to replace, potentially limiting modern Swift compatibility.
Struggles with iframe access, requiring a workaround swap function, and inherits WebKit's performance overhead, making it less suitable for heavy concurrent tasks.
Command-line usage requires specific build flags like `-Xcc -I/usr/include/libxml2`, and integration issues like Result type collisions with Alamofire add extra steps.
RSS reader for macOS and iOS.
SwiftSoup: Pure Swift HTML Parser, with best of DOM, CSS, and jquery (Supports Linux, iOS, Mac, tvOS, watchOS)
Kanna(鉋) is an XML/HTML parser for Swift.
FeedKit is a Swift library for Reading and Generating RSS, Atom, and JSON feeds.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.