DataKund - Automate Browsers without Selenium scripting

DataKund is a powerful Record & Play tool. It can be used for variety of purposes like web scraping, automation testing, making bots. Make robots to automate fairly complex tasks by simply recording your tasks in the browser.

Selenium vs DataKund



BeautifulSoup vs DataKund



Getting Help

Having trouble? We’d like to help!

  • Want to Learn DataKund

  • Looking for specific information? Try the Index.

  • Can see pre-built APIS.

  • Not Getting, see demo.

Example

Lets see yellow pages scraper by DataKund in working

_images/yellowpages_scraper.gif

What it can do?

DataKund handles all Selenium scripting underneath
Access all the Bots/APIs from within your code with a single function call

Selenium vs DataKund

Difference Table

FeaturesSeleniumDataKund
Coding experienceRequiredNot Required
Customer SupportOpen-source CommunityDedicated support
API SupportCannot perform actions through apisCan call apis
MaintenanceSlight change in website can make the code failDon't fail with slight changes in website
Inspection of ElementsNeed to inspect elements to write codeIt records itself
TimeTakes time in writing codeTakes no time in making apis
DependenciesDepends on driver,selenium module and programming languageNo programming language or driver needed
Locators knowledgeKnowledge of locators such as id, class etc neededNo such knowledge needed

Following are some of the other differences between Selenium and DataKund:-

Click

ActionSeleniumDataKund
Open Linkelement=driver.find_element_by_id("login") element.click()Start recorder and click on button(wherever you want)

Type or Send keys

ActionSeleniumDataKund
Type text in inputelement=driver.find_element_by_id("email") element.send_keys("datakund@datakund.in")Start recorder and click on input and type

New tab

ActionSeleniumDataKund
Open New Tabdriver.execute_script("window.open('https://www.datakund.com');")Just start recording and open new tab

Switch tab

ActionSeleniumDataKund
Switch to tabWindowsHandles=driver.window_handles window =WindowsHandles[-1] driver.switch_to_window(window)Just switch to tab after starting recording

Re-Captchas

ActionSeleniumDataKund
Solving Re-CaptchaYou need to user external service e.g 2Captcha service to solveAutomatically detects and solves captcha

Looping

ActionSeleniumDataKund
Click on every search resultFind common things by inspecting then loop over them(attributes can change)Apply repeat by Alt+P , then do your repeated action next

Variables

ActionSeleniumDataKund
Search different keywordsWill need a variable to change search valueAutomatically detects variables and you need to just change values

Google Sheets

ActionSeleniumDataKund
Sending bulk messages on linkedin having their links in sheetWill need to write both selenium as google apis code which takes timeJust make a simple api of sending message to one profile and attach google sheet to it

Iframe

ActionSeleniumDataKund
Click on buttoniframe_element=driver.find_element_by_xpath("html/div/iframe") driver.switch_to_iframe(iframe_element) button=driver.find_element_by_id("log_in") button.clickJust click on button

Flow Chart

ActionSeleniumDataKund
Showing actions in flow chartNo way of representing flow of actions except manually writingYou can see your actions in flow charts, can edit and delete actions as well

Multiple Language Support

ActionSeleniumDataKund
Writing selenium code in nodejsYou will need to learn programming language to write selenium for other languagesProvides code section, just copy code of desired language from there and run

BeautifulSoup vs DataKund

FeaturesBeautifulSoupDataKund
Coding experienceRequiredNot Required
Customer SupportOpen-source CommunityDedicated support
API SupportCannot perform scrape through apisCan call apis
MaintenanceSlight change in website can make the code failDon't fail with slight changes in website
Inspection of ElementsNeed to inspect elements to write codeIt records itself
TimeTakes time in writing codeTakes no time in making apis
DependenciesDepends on bs4 module and programming languageNo programming language or module needed
Locators KnowledgeKnowledge of locators such as id, class etc neededNo such knowledge needed
StructureIt's libraryIt's a complete framework
ExtensibilityLimited to scraping onlyCan do scraping as well browser actions
ConsiderationConsidered as parserConsidered as RPA tool
Data FormatYou need to write code to store in json xcel or spreadsheetCan attach google sheet for you, then all your data will automatically be saved there

Following are some of the other differences between BeautifulSoup and DataKund:-

Scrape Text

ActionBeautifulSoupDataKund
Scrape product titletitle=soup.find("h4",{"id":"title"}).getText()Right Click on title>DataKund>Scrape>Text>column name

Looping

ActionBeautifulSoupDataKund
Get every search result dataFind common things by inspecting then loop over them(attributes can change)Apply repeat by Alt+P , then scrape data by right clicking on data points

Google Sheets

ActionBeautifulSoupDataKund
Scraping product links defined in sheetWill need to write both beautifulsoup and google apis code which takes timeJust make a simple api of scraping one product and attach google sheet to it

Flow Chart

ActionBeautifulSoupDataKund
Showing actions in flow chartNo way of representing flow of actions except manually writingYou can see your actions in flow charts, can edit and delete actions as well

Installation/Usage

Installation

Pip
pip install bot-studio
Npm
npm install datakund
Standalone Executable

Usage

  • Starting DataKund will require login to DataKund

  • After login, drivers will be installed & browser window will open up

Python
from bot_studio import *
datakund=bot_studio.new()
Browser Options

Option

Default Value

Description

headless

False

Can set it to True if wants headless

proxy

No proxy

Pass proxy value e.g 98.0.2.5:4000

profile_path

creates temporary profile

Pass profile path e.g C:\Users\username\AppData\Local\Google\Chrome\User Data\

user_agent

No user agent

Pass user agent e.g python 2.7”, “platform”:”Windows

download_folder

Downloads in default folder

If want to set download directory to custom e.g E:files\

NodeJs
var datakund=require("datakund");
Curl/HTTP

DataKund listens on port 5350

Learn DataKund

Basic

Following are the actions you can do through DataKund:-

Click
  • To click on a page, make a new API.

  • Click on Record and navigate to page where you want to click.

  • Click there, you can see click action recorded in charts

  • Go back to Run , and run API

New Tab
  • Make a new API.

  • Click on Record and open new tab.

  • Go back to Run , and run API

Scrape Text
  • Make a new API.

  • Click on Record and open Variables Section.

  • Create columns e.g product_title,product_price

  • Go back to Record

  • Right Click on product’s or whatever text you want to scrape from webpage,

  • After Right click, click on DataKund>Scrape>Text>column name(product_title)

  • Here you go, and run API

  • It will give you text scraped in response

Pre-Built APIS by DataKund

DataKund provides some of pre built APIS which are used mostly. These are public APIS, you can use these if don’t want to make your own.

Google APIs

Following are some of Google APIs:-

Basic APIS

You can use basic apis which selenium provides with this tool like opening a url, get pagesource, get current url etc. These are the functions:-

Open

It will open the url provided in the parameters.

dk_object.open(url)
Get Page Title

It returns the title of page opened.

response=dk_object.get_page_title()
Get Page Source

It returns the pagesource of page opened.

response=dk_object.get_page_source()
Get Current Url

It returns the url of page opened.

response=dk_object.get_current_url()
Reload

It reloads the page opened.

dk_object.reload()
Keypress

It perform the keypress passed.

dk_object.keypress("shoes")
Scroll

It scrolls to the end of page.

dk_object.scroll()
End

It ends the session and close the automated chromedriver.

Note

You will need to create dk object again after end().

dk_object.end()
Quit

It quits the datakund application runing in background.

Note

You will need to import datakund library again to start datakund application.

dk_object.quit()

Contact Us

Indices and tables