Hi I need to implement a script that should capture all the object properties in a screen,
and prepare an xml for this i used javascript and jQuery.
Coming to my problem is if I click any submit button / link the page is moved to another
page i lost the previous page information, i am thinking to solve this using Selenium IDE
can any one please help me on this and i want to get the result in value field in the source
tab.
REQUIRED FORMAT in Source Tab
<tr>
<td>Testcase Name/ script Name</td>
<td>Method Name</td>
<td> XML as String </td>
</tr>
How can I insert my customize row in selenium IDE through javascript.
Thanks in advance.
What you can do with IDE is limited and it's not possible to do what you want using javascript.
I don't see IDE loosing its information when you move to other pages.
Related
I'm having real trouble clicking on this "button" link in this web app. It's defined as so:
<tr>
<td id="mainleftlinkzoneover" width="9" valign="top">
<td id="mainleftlinkzoneover" class="mainleftlinks" width="151" title="Online Training"> Online Training</td>
</tr>
Notice how there is no name or ID to use. Thanks! I've tried clicking it by Link Text. Nope. I've tried clicking it by partial link text. Nope.
Not sure why that isn't working but I've only been doing Selenium for a whole day. I'm successfully logging into the application so things are working. If I use By.PartialLinkText it doesn't fail but it doesn't click the link either.
WebElement OnlineTrainBtn = driver.findElement(By.partialLinkText("Training"));
OnlineTrainBtn.click();
I think I may be left with either Xpath or CssSelector but I have no idea how to write the search string.
Any help on this is greatly appreciated, I have ten or twelve more "buttons" like this to deal with.
The By.PartialLinkText searches among the <a> tags.
So in your case, I would use an CSS selector to match the title:
driver.findElement(By.cssSelector("td[title='Online Training']")).click();
You could also use an XPath to partially match the text:
driver.findElement(By.xpath("//td[contains(., 'Training')]")).click();
I am new to selenium and would like to send an email using gmail... I am aware if the automation policy of Google and will be using this mainly for testing and sending email to small number of friends , so please don't answer with ' it violates policy so don't do it ..' Etc
I tried the solution given here but its not working. The body of email is written as HTML div in body of email rather than textarea.
Can someone give me xpath , command , and value fields.
I would also like to know why the example given is not working as I am unable to understand it.
I am using https://mail.Google.com/mail/u/0/?view=cm to directly compose mail rather than the compose dialogue of email.
After login please use Thread.sleep(10000) and then fine element as per below :
//DO LOGIN
Thread.sleep(10000);
driver.get("https://mail.google.com/mail/u/0/?view=cm&fs=1&tf=1");
Thread.sleep(10000);
//XPATH FOR BODY
driver.findElement(By.xpath("//*[#id=':nz']")).sendKeys("TEST DATA IN BODY");
I have tested and above code is working. Actually after login it takes some time to load so elements are not always visible immediately so I have used thred.sleep();
This worked for me. I don't love it.
<tr>
<td>type</td>
<td>id=:om</td>
<td>some#email.com</td>
</tr>
<tr>
<td>type</td>
<td>id=:p1</td>
<td>subject text</td>
</tr>
<tr>
<td>type</td>
<td>//input[#name='body']</td>
<td>fdhh</td>
</tr>
I apologize if this question is redundant - I've seen a number of similar posts on this and other sites but none of them presented a solution that helped me.
I am using Selenium IDE to record a script that clicks a link (which opens a new window with a .shtml extension). I then need to switch focus to the new window and hit the save button to download a PDF.
I don't understand exactly how this works, but the url of the popup window is some generic url (https://www.theice.com/marketdata/reports/datawarehouse/ConsolidatedEndOfDayReportPDF.shtml) that hosts whatever report you generate on the previous page (https://www.theice.com/marketdata/reports/ReportCenter.shtml#report/142). If you try an openWindow command on the new URL it won't generate the report, you must open it through a link on the first page.
I want to refocus selenium to the new popup through selectWindow or selectPopup, but the issue is that the popup has no name, ID or title. Does anyone have a suggestion on how to avoid this issue?
Thanks,
Have not tried this out myself, but you could use this to find the window names and switch to it.
<tr>
<td>storeAllWindowNames</td>
<td>names</td>
<td></td>
</tr>
<tr>
<td>echo</td>
<td>${names}</td>
<td></td>
</tr>.
<tr>
<td>selectWindow</td>
<td><the name you find out></td>
<td></td>
</tr>.
You can try with storeAllWindowIds,storeAllWindowTitles. These three methods should return an array of windowids, something like this , bJHBGug2u8
I am working on third party applications where on the page too many labels are used as link or navigate to another page. So does python can do such tasks or read the page select list values?
I am using python 2.7 and selenium.
EDIT
There is a label called configuration see the corresponding code below:
<td class="tabtext-unsel"><nobr>Configuration</nobr></td>
<td class="unselected_tab_mid"><img src="/simpletrade/default/images/background/spacer.gif" width="16" height="25"></td>
Thanks,
Yes, it can. A label is implemented in HTML as <LABEL FOR="field_id">label text</LABEL>, and you can use it in an XPath locator in Selenium.
(Update after edit of question)
That's not a label in HTML, but it's still possible using an XPath locator. It's not even particularly difficult. Both <TD> elements are children of the same <TR> element, so something like this will do the job: //tr[td/a[.='Configuration']]/td/img will match the <IMG> element. But if all you want to do is locate the link, it's even easier: //tr/td/a[.='Configuration']
i want to use selenium to click on a specific button !
the send button on gmail, the standard version and not the basic html version
i tried
<tr>
<td>selectFrame</td>
<td>c16nfgbb415qzj</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>//div[#id=':v9']/b</td>
<td></td>
</tr>
didnot work
give me python code please and not html
Thanks
You can't record a script in Selenium and play it back using standard Google Mail. Most of the HTML names/IDs/classes in standard Google Mail are unpredictable.
You'd have to use xpath-based targets with indices e.g. //div[2]/div/div[3]. This has a high-dependency on the structure of the HTML being served by Google Mail. As soon as it changes, you'll need to modify your script.
The basic HTML version is predictable enough to just record and replay a script. You didn't say why you don't want to use that.