public class URL {
WebDriver driver;
@Test
public void test_URL() throws InterruptedException{
driver = new FirefoxDriver();
//driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
driver.get("https://www.proptiger.com/city-image-sitemap.xml");
List<WebElement> links = driver.findElements(By.tagName("loc"));
System.out.println(links.size());
for(int i=0; i<links.size();i++){
//Thread.sleep(200);
System.out.println(i+ "."+links.get(i).getText());
}
}
}
突然间停止执行。没有给出所有标签值。 我想要这个页面中的所有链接。
答案 0 :(得分:0)
Selenium无法处理XML 。它只处理HTML。 xml解析有各种插件可以帮助你。
您的问题在stackoverflow上有解决方案。请看看这个 - https://stackoverflow.com/a/8445497
答案 1 :(得分:0)
您可以使用不同的方法通过Selenium处理XML。试试这个xpath:// * [name()=&#39; loc&#39;]来查找所有标签值
试用此代码:
System.setProperty("webdriver.gecko.driver", "src/geckodriver");
WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
driver.get("https://www.proptiger.com/city-image-sitemap.xml");
List<WebElement> links = driver.findElements(By.xpath("//*[name()='loc']"));
System.out.println(links.size());
for(int i=0; i<links.size();i++){
//Thread.sleep(200);
System.out.println(i+ "."+links.get(i).getText());
}
答案 2 :(得分:0)
尝试使用此代码对我非常有用
driver.get("url");
List<WebElement> links = driver.findElements(By.xpath("//*[contains(@class,'text') and contains(text(),'https')]"));
System.out.println(links.size());
for(int i=0; i<links.size();i++){
//Thread.sleep(200);
System.out.println(i+ "."+links.get(i).getText());
}