title: Selenium: Get all visible text in Tableau view
body: <p>I am trying to get all visible text from a Tableau view using Selenium. I define all visible text as any text that can be searched using any browser's search functionality (i.e. <kbd>Ctrl</kbd>+<kbd>F</kbd>).</p>
  
  <p>I have already searched many other answers to related questions but none of them worked for my case. I tried the top answer from <a href="https://stackoverflow.com/questions/7947579/getting-all-visible-text-from-a-webpage-using-selenium">here</a>. It doesn't work for me from the very start since my <code>browser.page_source</code> contains no visible text. Here are the contents of my <code>browser.page_source</code>:</p>
  
  <pre><code>&lt;!DOCTYPE html&gt;&lt;html xmlns:ng="" xmlns:tb=""&gt;&lt;head&gt;&lt;style type="text/css"&gt;@charset "UTF-8";[ng\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}&lt;/style&gt;&lt;meta charset="UTF-8"&gt;&lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&gt;&lt;meta name="viewport" content="width=1024, maximum-scale=1.3"&gt;&lt;meta name="apple-itunes-app" content="app-id=434633927"&gt;&lt;meta name="format-detection" content="telephone=no"&gt;&lt;script&gt;var BuildId = '9qu3thidy901n388pewixusor';
  var StaticAssetsUrlPrefix = '';&lt;/script&gt;&lt;link rel="stylesheet" type="text/css" href="vizportal.css?9qu3thidy901n388pewixusor"&gt;&lt;script src="/javascripts/api/tableau-2.1.0.min.js?9qu3thidy901n388pewixusor"&gt;&lt;/script&gt;&lt;script src="vizportalMinLibs.js?9qu3thidy901n388pewixusor"&gt;&lt;/script&gt;&lt;script src="vizportal.min.js?9qu3thidy901n388pewixusor"&gt;&lt;/script&gt;&lt;/head&gt;&lt;body class="tb-body"&gt;&lt;div ng-app="VizPortalRun" id="ng-app" tb-window-resize="" class="tb-app ng-scope"&gt;&lt;!-- uiView:  --&gt;&lt;div ui-view="" class="tb-app-inner ng-scope"&gt;&lt;/div&gt;&lt;span class="ng-isolate-scope"&gt;&lt;div class="tb-toaster tb-enable-selection" data-reactid=".0"&gt;&lt;/div&gt;&lt;/span&gt;&lt;script type="text/ng-template" id="inline_stackedElement.html"&gt;&lt;div tb-window-resize tb-left="left" tb-top="top" tb-right="right" tb-bottom="bottom" tb-visible="visible" class="tb-absolute"&gt;&lt;/div&gt;&lt;/script&gt;&lt;!-- ngRepeat: stackedElement in stackedElements --&gt;&lt;span props="stackedComponentsProps" class="ng-isolate-scope"&gt;&lt;div data-reactid=".1"&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;
  </code></pre>
  
  <p>Also tried the top answer <a href="https://stackoverflow.com/questions/18336956/get-visible-text-of-page-with-selenium-webdriver">here</a>. Obviously, this didn't work as there's no text inside the <code>body</code> as you can see in the page source above.</p>
  
  <p>What is the correct way to get the visible text in these circumstances?</p>