Click Me
But the underlying source code could be:
<span>
<div>
<table>
<tbody>
<tr><td><strong onclick="javascript:clickme();">Click Me</strong></td></tr>
</tbody>
</table>
</div>
<span>
I might assume there is an anchor and I want to find the
<a> element with the text 'Click Me'. By looking at the source
code I can see that I actually want to find a <strong> element and
click on it.
Just viewing the source code isn't always sufficient however.
AJAX and Web 2.0 means that the source code gets changed in memory
after it is loaded. So what is actually available in the DOM (and
Selenium) might be different than what you see when viewing the source
code.
So how do you see what Selenium sees? A simple solution is to
write your Selenium code to get to a point in the program then print
out the source code using Selenium. Selenium 1.0 and 2.0 both have
methods to return the HTML source code as a string, which you can print.
The problem with this is that you might have to write a
program to print the source. Then with the source, find the code you
want to click. Then run the program so it clicks the element then prints
the new source. Then run the program to click the first element, click
the second element and print the source. For n steps this will take
O(n^2) run time. Not very efficient.
So how can you view the dynamically changing source? The answer is in browser tools.
If you are using IE7, search for "microsoft dev toolbar".
When you install it, it gives you development tools which can view the
page in real time. If you are using IE8, the tool is built in. Just
press F12 and it will display the development tools.
If you are using Firefox, install the Firebug extension.
If you are using Google Chrome, right click an element and select Inspect to bring up the development tools.
Fuente: http://darrellgrainger.blogspot.com/2011/07/tools-to-determine-how-to-use-selenium.html
No hay comentarios:
Publicar un comentario