Q: Python get web page contents that have javascripts - maybe Selenium I need to analyse web page contents. Page has javascrips. 
Can you advice on better way than using Selenium?
If not:
page when loaded in browser has elements:
<div class="js-container">    <table class="zebra" style="width: 100%;">
        <tbody><tr>
            <th>A</th>
            <th>B</th>
            <th>C</th>
        </tr>
            <tr>
                <td>A1</td>
                <td>A2</td>
                <td>
                    <a href="http://X" style="color: black">T1</a>
                </td>
            </tr>
            <tr>
                ....
            </tr>
....

I need to read a table, element by element. I run for example:
myList = myDriver.find_elements_by_class_name("js-container").
Then how do I get inner elements of "js-container" object?
The only element resulting myList has is: print (myList[0]):
<selenium.webdriver.remote.webelement.WebElement (session="61238", element="{71293}")>


A: Maybe you need BeautifulSoup - feeding to it Selenium driver.page_source. It is a python tool and it can build a tree based on the web page.
BeautifulSoup document

A: Selenium can do this just fine.
tableDescendants = myDriver.find_elements_by_css_selector("table.zebra *")
for tableDescendant in tableDescendants
    outer = tableDescendant.get_attribute("outerHTML")
    inner = tableDescendant.get_attribute("innerHTML")
    print outer[:outer.find(inner)]

This code grabs all descendants of the TABLE tag, removes everything after the start of the innerHTML string and prints the result. outerHTML contains the element itself and all descendants and innerHTML contains only the descendants. So, to get only the HTML of the element itself, we need to remove innerHTML from outerHTML.
