我已经在selenium-java中执行了我的代码,我需要在MS Edge浏览器中打开的.XML中的Identifiers(第二行,而不是第四行)的值。
我的XML:
<Application Type="ABCD">
<Identifier>18753</Identifier>
<SalesChannel SalesChannelType="PQRS" SalesChannelSegment="XYZ">
<Identifier>AB1234</Identifier>
任何人都可以通过代码帮助我获取位于标识符第二行之间的值(18753)。 注意:我有一个适用于chrome和FF的代码,但是该机器人可以用于MSedge:
Assert.assertTrue(driver.getPageSource().contains("Identifier"));
String xml = driver.getPageSource();
String appID = xml.split("<Identifier>")[0].split("</Identifier>")[1];
答案 0 :(得分:0)
我认为您的split
函数存在错误。正确的代码应如下所示:
String appID = xml.split("</Identifier>")[0].split("<Identifier>")[1];
示例代码:
import org.junit.Assert;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.edge.EdgeOptions;
public class Edgeauto {
public static void main(String[] args) {
System.setProperty("webdriver.edge.driver", "your_path_of_webdriver\\msedgedriver.exe");
EdgeOptions edgeOptions = new EdgeOptions();
WebDriver driver = new EdgeDriver(edgeOptions);
driver.get("http://xxx.xml");
Assert.assertTrue(driver.getPageSource().contains("Identifier"));
String xml = driver.getPageSource();
String appID = xml.split("</Identifier>")[0].split("<Identifier>")[1];
System.out.println(appID);
}
}
结果: