Collections:
Load HTML Files with WebDriver in Python
How to load an HTML document file from the local hard disk with WebDriver in Python?
✍: FYIcenter.com
If you want to load an HTML document file from the local hard disk with WebDriver, you can use the "file" URI format to identify the local file as shown in the example Python program below:
# LoadLocalHtmlFile.py # Copyright (c) FYIcenter.com from selenium.webdriver import Chrome import pathlib import sys import os file = sys.argv[1] path = os.path.abspath(file) url = pathlib.Path(path).as_uri() print("Loading "+url) script = "var items = {};" + \ " for (index = 0; index < arguments[0].attributes.length; ++index)" + \ " { items[arguments[0].attributes[index].name] = arguments[0].attributes[index].value };" + \ " return items;" def printTagWithAttributes(tag, space): global script global driver # build the attribute list attributes = "" dict = driver.execute_script(script,tag) for k, v in dict.items(): attributes += " "+k+"=\""+v+"\"" list = tag.find_elements_by_xpath("./*") if (len(list)==0): print(space+"<"+tag.tag_name+attributes+"/>") else: print(space+"<"+tag.tag_name+attributes+">") for child in list: printTagWithAttributes(child,space+" ") print(space+"</"+tag.tag_name+">") driver = Chrome() driver.get(url) html = driver.find_element_by_tag_name("html") printTagWithAttributes(html,"") driver.quit()
To test the above program, you can use the following HTML file, Hello.html:
<html> <head> <title>Hello</title> </head> <body bgcolor="#ffeeee"> <p>Hello world!</p> </body> </html>
Run the program with Hello.html:
C:\fyicenter> python LoadLocalHtmlFile.py Hello.html Loading file:///C:/fyicenter/Hello.html <html{}> <head{}> <title{}> </title> </head> <body{bgcolor=#ffeeee}> <p{}> </p> </body> </html>
The output shows that we loaded the local HTML file correctly.
⇒ Hidden Input Field with WebDriver in Python
⇐ Dump Element Attributes with execute_script() in Python
2019-10-18, 7777🔥, 0💬
Popular Posts:
How to generate IP Addresses? To help you to obtain some IP addresses for testing purpose, FYIcenter...
How to validate email address format? In order to help your programming or testing tasks, FYIcenter....
What are JMeter command line options? You can get see JMeter command line options by running this co...
How to convert a date and time to a standard format? Date and time can be displayed in a number of s...
How to generate test fractional numbers? Test fractional numbers are numbers with fractions that are...