selenium webdriver

来源:互联网 发布:only淘宝代购是真的吗 编辑:程序博客网 时间:2024/05/16 05:53

http://www.seleniumhq.org


http://my.oschina.net/flashsword/blog/147334


比如这个html代码:

XML/HTML code
?
1
2
3
4
5
6
7
8
9
10
11
12
<html><head><title>Table sample</title></head><body>
    <form action='/foo' name='form1'>
    <table id="table1">
        <script type="text/javascript">
            for (i = 1; i <= 5; i++) {
                document.write("<tr><td>" + i
                    + "</td><td><input name='textfield" + i
                    + "' type='text'></td></tr>");
            }
        </script>
    </table></form>
</body></html>

用jsoup得到的就是这个代码,但是我们要得到js执行后的代码,可以用selenium webdriver,举例用HtmlUnitDriver(无界面的),代码如下:
Java code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
 
public class Testjsoup {
    public static void main(String[] args) throws IOException {
        HtmlUnitDriver driver = new HtmlUnitDriver(true);
        //WebDriver driver = new FirefoxDriver();
        driver.get("file:///C:/Users/jgong/Desktop/test.html");
        System.out.println(driver.getPageSource());
        driver.quit();
    }
 
}


运行后,输出的结果如下:
XML/HTML code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?xml version="1.0" encoding="ISO-8859-1"?>
<html>
  <head>
    <title>
      Table sample
    </title>
  </head>
  <body>
    <form action="/foo" name="form1">
      <table id="table1">
        <script type="text/javascript">
//<![CDATA[
 
            for (i = 1; i <= 5; i++) {
                document.write("<tr><td>" + i
                    + "</td><td><input name='textfield" + i
                    + "' type='text'></td></tr>");
            }
         
//]]>
        </script>
        <tbody>
          <tr>
            <td>
              1
            </td>
            <td>
              <input name="textfield1" type="text"/>
            </td>
          </tr>
          <tr>
            <td>
              2
            </td>
            <td>
              <input name="textfield2" type="text"/>
            </td>
          </tr>
          <tr>
            <td>
              3
            </td>
            <td>
              <input name="textfield3" type="text"/>
            </td>
          </tr>
          <tr>
            <td>
              4
            </td>
            <td>
              <input name="textfield4" type="text"/>
            </td>
          </tr>
          <tr>
            <td>
              5
            </td>
            <td>
              <input name="textfield5" type="text"/>
            </td>
          </tr>
        </tbody>
      </table>
    </form>
  </body>
</html>

PS: 更多selenium webdriver 可访问:http://jarvi.iteye.com 或都 http://www.seleniumhq.org

0 0
原创粉丝点击