Hi Team,
I tried few more things
First I try to run below given code
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
#Getting local session of Chrome
driver=webdriver.Chrome()
#put here the adress of your page
driver.get("http://mdmdv.gartner.com/mdm/app/marketingBounceBack")
#put here the content you have put in Notepad, ie the XPath
elem=driver.find_elements_by_xpath('//*[@class]')############### to find id,name replace id,name with class
for ii in elem:
print(ii.get_attribute('class'))
#elem=driver.find_elements_by_xpath("//div[@class='row' and @id='emailTab']")############### this is one of class
#print(elem)
'''elem=driver.find_elements_by_id("bb-tabs")############### this is one of class
print(elem)'''
'''elem2=driver.find_elements_by_xpath("//input[@id='emailTab']")############### this is one of class
print(elem2)'''
elem2=driver.find_element_by_class_name('row')
print(elem2)
elementList = elem2.find_elements_by_tag_name("div")
print(elementList)
driver.close()
#driver.find_element_by_xpath("//div[@title='div2']")
Output:
ng-scope
container-fluid main
row wrapper
col-md-2 col-sm-3 col-xs-3 drawer
col-md-10 col-sm-9 col-xs-9 content
row nav
row
disclaimer
ng-scope toast-bottom-right
<selenium.webdriver.remote.webelement.WebElement (session="58601f7dd8e67ceda02efbf75431a7f5", element="0.36920640870980237-3")>
[<selenium.webdriver.remote.webelement.WebElement (session="58601f7dd8e67ceda02efbf75431a7f5", element="0.36920640870980237-4")>, <selenium.webdriver.remote.webelement.WebElement (session="58601f7dd8e67ceda02efbf75431a7f5", element="0.36920640870980237-5")>, <selenium.webdriver.remote.webelement.WebElement (session="58601f7dd8e67ceda02efbf75431a7f5", element="0.36920640870980237-6")>, <selenium.webdriver.remote.webelement.WebElement (session="58601f7dd8e67ceda02efbf75431a7f5", element="0.36920640870980237-7")>]
First of all I want to understand what is this output for class <<row>>
Please find HTML for class row
<div class="row">
<marketing-bounce-back><div class="col-md-10 col-md-offset-1 bulkStitch-wrapper">
<div id="bb-tabs">
<button id="emailTab" class="btn btn-md btnTabSelected" ng-class="{true: 'btnTabSelected', false: 'btnTabDeselected'}[emailSelected]" ng-click="emailTab()" style="">Email</button>
<button id="phoneTab" class="btn btn-md btnTabDeselected" ng-class="{true: 'btnTabSelected', false: 'btnTabDeselected'}[phoneSelected]" ng-click="phoneTab()" style="">Phone</button>
<button id="mailTab" class="btn btn-md btnTabDeselected" ng-class="{true: 'btnTabSelected', false: 'btnTabDeselected'}[mailSelected]" ng-click="mailTab()" style="">Mail</button>
</div>
<fieldset id="emailBounceBacks" ng-show="emailSelected" class="" style="">
<legend class="emailLegend">Bulk Loader - Email Bounce Backs</legend>
<div class="col-sm-12 bb-content">
<div class="col-sm-4">
<button class="btn btn-md download-button btn-email" ng-click="downloadFile('email_bounceback_template.xlsx')">
<span class="glyphicon glyphicon-download-alt"></span> Download Email End Date Template
</button>
</div>
<div class="col-sm-4">
<label for="email-file-upload" class="custom-file-upload btn-email">
<span class="glyphicon glyphicon-arrow-up"></span> Upload File
</label>
<div id="fn-display"><span ng-bind="emailFilename" class="ng-binding"></span></div>
<input id="email-file-upload" ng-model="selectedTxtEmailFile" type="file" name="addAttachment" accept=".xlsx" on-file-change="updateEmailFile" class="ng-pristine ng-untouched ng-valid">
</div>
<div class="col-sm-4">
<button class="btn btn-md submit-button btn-email" ng-click="submitFile('EMAIL_BOUNCE_BACK', 'emailFile')">
<span class="glyphicon glyphicon-play"></span> Submit
</button>
</div>
</div>
</fieldset>
<fieldset id="phoneBounceBacks" ng-show="phoneSelected" class="ng-hide" style="">
<legend class="phoneLegend">Bulk Loader - Phone Bounce Backs</legend>
<div class="col-sm-12 bb-content">
<div class="col-sm-4">
<button class="btn btn-md download-button btn-phone" ng-click="downloadFile('phone_bounceback_template.xlsx')">
<span class="glyphicon glyphicon-download-alt"></span> Download Phone Returns Template
</button>
</div>
<div class="col-sm-4">
<label for="phone-file-upload" class="custom-file-upload btn-phone">
<span class="glyphicon glyphicon-arrow-up"></span> Upload File
</label>
<div id="fn-display"><span ng-bind="phoneFilename" class="ng-binding"></span></div>
<input id="phone-file-upload" ng-model="selectedTxtPhoneFile" type="file" name="addAttachment" accept=".xlsx" on-file-change="updatePhoneFile" class="ng-pristine ng-untouched ng-valid">
</div>
<div class="col-sm-4">
<button class="btn btn-md submit-button btn-phone" ng-click="submitFile('PHONE_BOUNCE_BACK', 'phoneFile')">
<span class="glyphicon glyphicon-play"></span> Submit
</button>
</div>
</div>
</fieldset>
<fieldset id="mailBounceBacks" ng-show="mailSelected" class="ng-hide" style="">
<legend class="mailLegend">Bulk Loader - Mail Bounce Backs</legend>
<div class="col-sm-12 bb-content">
<div class="col-sm-4">
<button class="btn btn-md download-button btn-mail" ng-click="downloadFile('mail_bounceback_template.xlsx')">
<span class="glyphicon glyphicon-download-alt"></span> Download Mail Returns Template
</button>
</div>
<div class="col-sm-4">
<label for="mail-file-upload" class="custom-file-upload btn-mail">
<span class="glyphicon glyphicon-arrow-up"></span> Upload File
</label>
<div id="fn-display"><span ng-bind="mailFilename" class="ng-binding"></span></div>
<input id="mail-file-upload" ng-model="selectedTxtMailFile" type="file" name="addAttachment" accept=".xlsx" on-file-change="updateMailFile" class="ng-pristine ng-untouched ng-valid">
</div>
<div class="col-sm-4">
<button class="btn btn-md submit-button btn-mail" ng-click="submitFile('SNAIL_MAIL_BOUNCE_BACK', 'mailFile')">
<span class="glyphicon glyphicon-play"></span> Submit
</button>
</div>
</div>
</fieldset>
<div class="row footer">
<p>For questions or issues, please contact
[email protected]</p>
</div>
</div>
</marketing-bounce-back>
<p class="disclaimer">Gartner Confidential - Internal Use Only</p>
</div>