Python Debugger Cheatsheet



  1. Free Python Debugger
  2. Online Python Debugger
  3. Python Debugger Linux
  4. Best Python Debugger For Windows
  5. Python Debugger Cheatsheet

My primary debugging tool is to add print statements to my programs. Print statements are very easy to use and they work well for any simple scripts. But that’s the catch: if you’re debugging an application and/or a test file, print statements won’t be enough or will just not work (in the case if tests files).

For those cases, I find that pdb, the debugger that is part of Python’s standard library, is the next best thing: also very simple to use but gives you more insight on what’s going on in your program.

All you have to do is to invoke pdb to enter in debug mode. It’s possible to either call the script with pdb as in:

or call pdb inside the script where you want to stop regular execution and start debugging – for python 3.6 and older:

Title: Python Debugger Cheatsheet Author: Florian Preinstorfer (nblock@archlinux.us) Keywords: Python, Debugger, Cheatsheet, pdb, ipdb Created Date.

Or for python 3.7 and up:

When in debugging mode you have access to the pbd console, where you can use pdb commands (listed below) and also inspect your script – like printing variable contents, for example (just type the variable’s name in the console).

  • Python with R and Reticulate Cheatsheet The reticulate package provides a comprehensive set of tools for interoperability between Python and R. With reticulate, you can call Python from R in a variety of ways including importing Python modules into R scripts, writing R Markdown Python chunks, sourcing Python scripts, and using Python.
  • Starting to write Immunity Debugger PyCommands: my cheatsheet Building a PyCommand from scratch. This filename is important, because you will need to launch the PyCommand based on. Writing to log, tables, files. You may have noticed that the script above does not seem to output anything.
  • All you have to do is to invoke pdb to enter in debug mode. It’s possible to either call the script with pdb as in: python3 -m pdb myscript.py. Or call pdb inside the script where you want to stop regular execution and start debugging – for python 3.6 and older: import pdb; pdb.settrace # python 3.6 and older. Or for python 3.7 and up.
  • Comprehensive Python Cheatsheet Contents Main List Dictionary Counter Set Frozen Set Tuple Named Tuple Range Enumerate Iterator Itertools Generator Type Some types do not have built-in names, so they must be imported: Abstract Base Classes String Property Methods Regex Match Object Special Sequences Format Attributes General Options Strings.

Free Python Debugger

Example:

In the short script above, once the debugger console is launched, you can hit ‘n’ to reach the next line, then type ‘nb’ to read its value at that point of execution.

Personally, the most used pdb commands are the listed below but you can find the full list in the official documentation or in this free cheat sheet:

s(tep): Execute the current line, stop at the first possible occasion

c(ont(inue)): Continue execution, only stop when a breakpoint is encountered.

n(ext): Continue execution until the next line in the current function is reached or it returns

r(eturn): Continue execution until the current function returns.q(uit): Quit from the debugger. The program being executed is aborted.

The postDebugging Python applications (plus free cheat sheet)was originally published atflaviabastos.ca

Python selenium commands cheat sheet

Frequently used python selenium commands – Cheat Sheet

To import webdriver module in python use below import statement

Driver setup:
Firefox:
firefoxdriver = webdriver.Firefox(executable_path=”Path to Firefox driver”)

To download: Visit GitHub

Python Debugger Cheatsheet

Chrome:
chromedriver = webdriver.Chrome(executable_path=”Path to Chrome driver”)

To download: Visit Here

Internet Explorer:
iedriver = webdriver.IE(executable_path=”­Pat­h To­ IEDriverServer.exe”)

To download: Visit Here

Edge:
edgedriver = webdriver.Edge(executable_path=”­Pat­h To­ MicrosoftWebDriver.exe”)

To download: Visit Here

Opera:
operadriver = webdriver.Opera(executable_path=”­Pat­h To­ operadriver”)

To download: visit GitHub

Safari:

SafariDriver now requires manual installation of the extension prior to automation

Browser Arguments:

–headless

To open browser in headless mode. Works in both Chrome and Firefox browser

–start-maximized

To start browser maximized to screen. Requires only for Chrome browser. Firefox by default starts maximized

–incognito

To open private chrome browser

–disable-notifications

To disable notifications, works Only in Chrome browser

Example:

or

To Auto Download in Chrome:

To Auto Download in Firefox:

We can add any MIME types in the list. MIME for few types of files are given below.

  1. Text File (.txt) – text/plain
  2. PDF File (.pdf) – application/pdf
  3. CSV File (.csv) – text/csv or “application/csv”
  4. MS Excel File (.xlsx) – application/vnd.openxmlformats-officedocument.spreadsheetml.sheet or application/vnd.ms-excel
  5. MS word File (.docx) – application/vnd.openxmlformats-officedocument.wordprocessingml.document
    Zip file (.zip) – application/zip

Note:
The value of browser.download.folderList can be set to either 0, 1, or 2.

0 – Files will be downloaded on the user’s desktop.
1 – Files will be downloaded in the Downloads folder.
2 – Files will be stored on the location specified for the most recent download

Disable notifications in Firefox

firefoxOptions.set_preference(“dom.webnotifications.serviceworker.enabled”, false);
firefoxOptions.set_preference(“dom.webnotifications.enabled”, false);

Open specific Firefox browser using Binary:

Open specific Chrome browser using Binary:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.binary_location = “”
driver = webdriver.Chrome(chrome_options=options, executable_path=””)
driver.get(‘http://google.com/’)

Read Browser Details:

driver.title
driver.window_handles
driver.current_window_handles
driver.current_url
driver.page_source

Go to a specified URL:

driver.get(“http://google.com”)
driver.back()
driver.forward()
driver.refresh()

Locating Elements:

driver.find_element_by_ – To find the first element matching the given locator argument. Returns a WebElement

driver.find_elements_by_ – To find all elements matching the given locator argument. Returns a list of WebElement

By ID

<input id=”q” type=”text” />

element = driver.find_element_by_id(“q”)

By Name

<input id=”q” name=”search” type=”text” />

element = driver.find_element_by_name(“search”)

By Class Name

<div class=”username” style=”display: block;”>…</div>

element = driver.find_element_by_class_name(“username”)

Best

By Tag Name

<div class=”username” style=”display: block;”>…</div>

element = driver.find_element_by_tag_name(“div”)

By Link Text

Online Python Debugger

<a href=”#”>Refresh</a>

element = driver.find_element_by_link_text(“Refresh”)

By Partial Link Text

<a href=”#”>Refresh Here</a>

element = driver.find_element_by_partial_link_text(“Refresh”)

By XPath

<form id=”testform” action=”submit” method=”get”>

Username: <input type=”text” />
Password: <input type=”password” />

</form>

element = driver.find_element_by_xpath(“//form[@id=’testform’]/input[1]”)

By CSS Selector

<form id=”testform” action=”submit” method=”get”>

<input class=”username” type=”text” />
<input class=”password” type=”password” />

</form>

element = driver.find_element_by_css_selector(“form#testform>input.username”)

Important Modules to Import:

from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.ui import Select

from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains

from selenium.common.exceptions import NoSuchElementException

from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

from selenium.webdriver.chrome.options import Options
from selenium.webdriver.firefox.options import Options

Python Selenium commands for operation on elements:

button/link/image:

click()
get_attribute()
is_displayed()
is_enabled()

Text field:

send_keys()
clear()

Checkbox/Radio:

is_selected()
click()

Select:

Find out the select element using any element locating strategies and then select options from list using index, visible text or option value.

Element properties:

is_displayed()
is_selected()
is_enabled()

These methods return either true or false.

Read Attribute:

get_attribute(“”)

Online

Get attribute from a disabled text box

driver.find_element_by_id(“id”).get_attribute(“value”);

Screenshot:

Note: An important note to store screenshots is that save_screenshot(‘filename’) and get_screenshot_as_file(‘filename’) will work only when extension of file is ‘.png’. Otherwise content of the screenshot can’t be viewed

Read articles for more details about taking screenshot and element screenshot

Python Debugger Linux

The list here contains mostly used python selenium commands but not exhaustive. Please feel free to add in comments if you feel something is missing and should be here.

Best Python Debugger For Windows

3 Responses

Python Debugger Cheatsheet

  1. […] Previous: Previous post: Execute Python Selenium tests in Selenium GridNext: Next post: Python selenium commands cheat sheet […]

  2. Thank you very much

  3. Hi Sir,

    I am trying to do the sorting in selenium with python using For loop could u please help me is there any way that i can do it ?

    Sorting in descending order in the below website

    website: https://jqueryui.com/sortable/