请看这个页面,我想要找到某个公告的内容,必须一个一个打开链接,尼玛好多啊。

于是,我机智的使用selenium打开每一个链接,然后把公告内容写入txt

那需要做一下步奏

1.依次打开一个公告

2.切换focus到新窗口,找到公告内容,写到txt

3.关闭该窗口

4.切换到主窗口

5.当前页面遍历完,点击下一页

6.重复步奏1

 

Selenium FF WebDriver 遍历所有链接(另类爬虫)

由于下一页是一个很好用的flag,就可以当做循环条件,因为最后一页没有下一页的element

接下来要找到相关的的xpath

列表数目: count(//tr/td/a[starts-with(@href,'article_show.asp?ID=') and @title!='' ])
列表:      //tr/td/a[starts-with(@href,'article_show.asp?ID=') and @title!='' ]
下一页:   //div/a[text()='下一页']

selenium WebDriver测试网页时,点击target=”_blank”的链接,在打开新页面,切换到新窗口的

这要使用

String currentWindow = driver.getWindowHandle();//获取当前窗口句柄
Set<String> handles = driver.getWindowHandles();//获取所有窗口句

WebDriver window = driver.switchTo().window(it.next());//切换到新窗口

driver.switchTo().window(currentWindow);//回到原来页面

driver=driver.switchTo().window(driver.getWindowHandle()); //把下一页变成当前driver

currentWindow = driver.getWindowHandle();
            //get all windows
            Set<String> handles= driver.getWindowHandles();
            for (String s : handles)
            {
                //current page is don't close
                if (s.equals(currentWindow))
                    continue;
                else 
                {
                    window =driver.switchTo().window(s);
                                }
                             window .close() ;
                        }
driver.switchTo().window(currentWindow);
View Code

相关文章:

  • 2021-06-24
  • 2021-09-02
  • 2022-12-23
  • 2022-12-23
  • 2021-08-01
  • 2021-11-05
  • 2021-06-21
  • 2021-07-30
猜你喜欢
  • 2021-12-20
  • 2021-06-06
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案