selenium-webdriver – 如何单击网页中的所有链接
发布时间:2020-12-14 21:14:37 所属栏目:资源 来源:网络整理
导读:我有10个不同的页面包含不同的链接.如何点击所有链接? 条件是: 我不知道有多少链接 我想数一下,点击每个链接 请建议我selenium webdriver脚本. 解决方法 捕获并导航网页上的所有链接 迭代器和高级for循环可以做类似的工作;但是,循环内页面导航的不一致性可
我有10个不同的页面包含不同的链接.如何点击所有链接?
条件是: 请建议我selenium webdriver脚本. 解决方法
捕获并导航网页上的所有链接
迭代器和高级for循环可以做类似的工作;但是,循环内页面导航的不一致性可以使用数组概念来解决. private static String[] links = null; private static int linksCount = 0; driver.get("www.xyz.com"); List<WebElement> linksize = driver.findElements(By.tagName("a")); linksCount = linksize.size(); System.out.println("Total no of links Available: "+linksCount); links= new String[linksCount]; System.out.println("List of links Available: "); // print all the links from webpage for(int i=0;i<linksCount;i++) { links[i] = linksize.get(i).getAttribute("href"); System.out.println(all_links_webpage.get(i).getAttribute("href")); } // navigate to each Link on the webpage for(int i=0;i<linksCount;i++) { driver.navigate().to(links[i]); Thread.sleep(3000); } 1 |捕获特定帧| class | id下的所有链接并逐个导航 driver.get("www.xyz.com"); WebElement element = driver.findElement(By.id(Value)); List<WebElement> elements = element.findElements(By.tagName("a")); int sizeOfAllLinks = elements.size(); System.out.println(sizeOfAllLinks); for(int i=0; i<sizeOfAllLinks ;i++) { System.out.println(elements.get(i).getAttribute("href")); } for (int index=0; index<sizeOfAllLinks; index++ ) { getElementWithIndex(By.tagName("a"),index).click(); driver.navigate().back(); } public WebElement getElementWithIndex(By by,int index) { WebElement element = driver.findElement(By.id(Value)); List<WebElement> elements = element.findElements(By.tagName("a")); return elements.get(index); } 2 |捕获所有链接[替代方法] Java的 driver.get(baseUrl + "https://www.google.co.in"); List<WebElement> all_links_webpage = driver.findElements(By.tagName("a")); System.out.println("Total no of links Available: " + all_links_webpage.size()); int k = all_links_webpage.size(); System.out.println("List of links Available: "); for(int i=0;i<k;i++) { if(all_links_webpage.get(i).getAttribute("href").contains("google")) { String link = all_links_webpage.get(i).getAttribute("href"); System.out.println(link); } } 蟒蛇 from selenium import webdriver driver = webdriver.Firefox() driver.get("https://www.google.co.in/") list_links = driver.find_elements_by_tag_name('a') for i in list_links: print i.get_attribute('href') driver.quit() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |