使用cordovas confix.xml,默认文件为。
name
使用gulp-xml-editor我尝试创建一个插件来编辑.//*[name]
的值,但无论我如何尝试,我都无法获得正确的xpath元素。
我尝试的选项:
.//*/widgets:name
//name
public void IFL()
{
driver.Url = "https://www.google.com/?gws_rd=ssl";
IWebElement element = driver.FindElement(By.CssSelector("[id*='lst-ib']"));
element.SendKeys("Hello W");
Thread.Sleep(1000);
var luck = driver.FindElements(By.CssSelector("[href*='#ifl']"));
IWebElement ifl = luck[0];
Actions action = new Actions(driver);
action.MoveToElement(ifl).Build().Perform();
Thread.Sleep(1000);
ifl.Click();
}
没有成功。知道它是什么?
答案 0 :(得分:5)
元素<name>
位于默认名称空间xmlns="http://www.w3.org/ns/widgets"
中。通常在xpath中,要选择命名空间中的元素,您需要注册指向命名空间uri的前缀,并在xpath中使用该前缀。
我不知道gulp-xml-editor
,但在GitHub页面you linked中似乎有一个非常接近的例子,特别是通过使用用户特定对象来评论“编辑XML文档”命名空间“:
/*
edit XML document by using user specific object using a namespace
*/
gulp.src("./manifest.xml")
.pipe(xeditor([
{path: '//xmlns:name', text: 'new names'},
], 'http://www.w3.org/ns/widgets'))
.pipe(gulp.dest("./dest"));