How can i read html codes with python selenium - python-3.x

I want to get a link in html path, the codes are here:
<div class="btn btn-primary btn-lg">
<a href="https://storage.googleapis.com/audiog-204018.appspot.com/files/hello1574358335.mp3">
Download MP3 </a>
</div>
How can i get this link with selenium

In Python Selenium you can simply use element.get_attribute()
So in your case, it should just be
element.get_attribute("href")

Related

Unable to click expand button using selenium web driver in Python

I'm totally new to programming. Currently trying to automate few daily tasks using selenium web driver on Python. I have a webpage which contains multiple + expand button. Below is the code
Without expansion:
<div class="expansion container">
<div class="expansion_base_parent"></div>
<div class="expansion expansion_parent">
<button type="button" class="compact-visual-toggle"></button>
</div>
</div>
With expansion
<div class="expansion_container">
<div class="expansion_base_parent"></div>
<div class="expansion expansion_parent">
<button type="button" class="compact-visual-toggle active"></button>
</div>
</div>
I'm unable to find this element using any of the find_by method
My colleague said the page contains json that's why unable to locate using find_by
Can somebody please help with the code to locate and click the expand button.
Actual page:
Go-to https://fortigate.fortidemo.com
Username demo
Password demo
Click login read-only
Click later in next window
Now navigate to Network > interfaces There you can see lot of expand button that's what I'm referring I have written code to come till this page, but I want to expand before taking screenshot of the page
It does not have to do anything with JSON.
See, you are saying
<div class="expansion container">
<div class="expansion_base_parent"></div>
<div class="expansion expansion_parent">
<button type="button" class="compact-visual-toggle"></button>
</div>
</div>
that you see this HTML when expand button is present.
You can locate with below css :-
button.compact-visual-toggle
or xpath :
//button[contains(#class, 'compact-visual-toggle')]
and since you have mentioned that they are multiple expension button, you can differentiate like below :
(//button[contains(#class, 'compact-visual-toggle')])[1]
should represent the first, for second you can try :
(//button[contains(#class, 'compact-visual-toggle')])[2]
and so on.. for 3rd, 4th....
in code you can use it like this :
driver.find_element_by_xpath("//button[contains(#class, 'compact-visual-toggle')]").click()
or
driver.find_element_by_xpath("(//button[contains(#class, 'compact-visual-toggle')])[1]").click()
or
driver.find_element_by_xpath("(//button[contains(#class, 'compact-visual-toggle')])[2]").click()
Now, coming to second part :
<div class="expansion_container">
<div class="expansion_base_parent"></div>
<div class="expansion expansion_parent">
<button type="button" class="compact-visual-toggle active"></button>
</div>
</div>
in you you want to un-expand it, you could use the below xpath :
//button[contains(#class, 'compact-visual-toggle active')]
and use it like above.

How to get href attribute using selenium for python?

I want to get the href attributes from the given HTML code so that i can go inside the link and scrape some data from it.
<div class="cb-col cb-col-67 cb-rank-plyr"> <a class="text-hvr-underline text-bold cb-font-16" href="/profiles/1643/aaron-finch" title="Aaron Finch's Profile">Aaron Finch</a> <div class="cb-font-12 text-gray">AUSTRALIA</div> </div>
<div class="cb-col cb-col-67 cb-rank-plyr"> <a class="text-hvr-underline text-bold cb-font-16" href="/profiles/10863/fakhar-zaman" title="Fakhar Zaman's Profile">Fakhar Zaman</a> <div class="cb-font-12 text-gray">PAKISTAN</div> </div>
I want to get the attributes of href and save it to a list.
You can use regular expressions to parse out thinks in the HTML such as that href tag.
Here is an article explaining that: https://medium.com/#tracy_blog/regex-and-selenium-2c5a89f23a17
To accomplish this, I would consider using get_attribute(name) over a regular expression.

How to move to next page using selenium webdriver in python until end

<li title="下一页" class=" rc-pagination-next"
aria-disabled="false" tabindex="0">
<a class="rc-pagination-item-link">==$0
::after
</a>
</li>
In the Above code i am unable to click the to move to the next page.
If somebody could help me would be of great help.
I am writing this script in Python and using selenium chrome webdriver

Get <p> content using selenium Webdriver

I have the following <p> tag wrapped in <div> tag using selenium Webdriver and I would like to get the <p> tag content using node.js
<div id="guideContainer-rootPanel-HouseholdContact-guidetextbox___guideFieldShortDescription" class="guideFieldDescription short" style="null;display:none">
<p>Enter the first name of the contact person.</p>
</div>

image will display in dreamweaver but shows a blank in web browser

The image index_03.jpg will display in Dreamweaver but does not show in the browser. All of the files are in the appropriate place I have checked, could it be something with my code?
<body>
<div id="wrapper">
<div id="wrapper2">
<div id="header">
<div id="logo">
<h1><img src="images/index_03.jpg" alt="" width="508" height="130" /></a></h1>
</div>
</div>
Did you upload that directory and image to your server? If it's not there, it will be broken because the web server can't find it. Where do you have this page? Do you have a link you can share w/us?

Resources