to be able to send logging messages to file named programlog txt with logging debug()you must have these two lines at the start of your programimport logging logging basicconfig(filename='programlog txt'level=logging debugformat=%(asctime) %(levelname) %(message) ' debuginfowarningerrorand critical logging disable(logging criticalyou can disable logging messages without removing the logging function calls you can selectively disable lower-level logging messages you can create logging messages logging messages provides timestamp the step in button will move the debugger into function call the step over button will quickly execute the function call without stepping into it the step out button will quickly execute the rest of the code until it steps out of the function it currently is in after you click continuethe debugger will stop when it has reached the end of the program or line with breakpoint breakpoint is setting on line of code that causes the debugger to pause when the program execution reaches the line to set breakpoint in muclick the line number to make red dot appear next to it the webbrowser module has an open(method that will launch web browser to specific urland that' it the requests module can download files and pages from the web the beautifulsoup module parses html finallythe selenium module can launch and control browser the requests get(function returns response objectwhich has text attribute that contains the downloaded content as string the raise_for_status(method raises an exception if the download had problems and does nothing if the download succeeded the status_code attribute of the response object contains the http status code after opening the new file on your computer in 'wb"write binarymodeuse for loop that iterates over the response object' iter_content(method to write out chunks to the file here' an examplesavefile open('filename html''wb'for chunk in res iter_content( )savefile write(chunkanswers to the practice questions