该选项已选中,但没有单击按钮来创建页面
formElement.findElement(By.xpath("//button[@class='btn btn-primary btn-block']")).click();
<button type="button" class="btn btn-primary btn-block" onclick="registerUser()">Create</button>
答案 0 :(得分:0)
如果您使用driver.findElement(By.xpath("//button[@class='btn btn-primary btn-block']")).click();
,则以下摘录将对您有所帮助。
function launchViewer(urn) {
return new Promise((resolve, reject) => {
try {
var options = {
env: 'AutodeskProduction',
getAccessToken: getForgeToken
};
console.log(options);
Autodesk.Viewing.Initializer(options, () => {
Autodesk.Viewing.Document.load(
'urn:' + urn,
(document) => {
var rootItem = document.getRootItem();
var geometryItems3d = Autodesk.Viewing.Document.
getSubItemsWithProperties(
rootItem, {
'type': 'geometry',
'role': '3d'
},
true
);
var geometryItems2d = Autodesk.Viewing.Document.
getSubItemsWithProperties(
rootItem, {
'type': 'geometry',
'role': '2d'
},
true
);
var got2d = (geometryItems2d && geometryItems2d.length > 0);
var got3d = (geometryItems3d && geometryItems3d.length > 0);
console.log(options);
console.log(document);
console.log(rootItem);
console.log(geometryItems2d);
console.log(geometryItems3d);
console.log(got2d);
console.log(got3d);
if (got2d || got3d) {
var pathCollection = [];
geometryItems2d.forEach((item) => {
pathCollection.push(document.getViewablePath(item));
});
geometryItems3d.forEach((item) => {
pathCollection.push(document.getViewablePath(item));
});
return resolve(pathCollection);
} else {
return reject('no viewable content')
};
},
(err) => {
console.log(options);
console.log('Error loading document... ');
//Autodesk.Viewing.ErrorCode
switch (err) {
// removed for clarity, see full sample
}
});
});
} catch (ex) {
return reject(ex);
}
});
}
function getForgeToken(callback) {
jQuery.ajax({
url: '/api/forge/oauth/token',
success: function (res) {
callback(res.access_token, res.expires_in)
}
});
}
答案 1 :(得分:0)
我认为问题的原因是类名带有空格。在reactjs
或angularjs
项目上工作时,这是常见的问题。
我希望这可以解决您的问题,请重构您的代码,如下所示:
formElement.findElement(By.cssSelector("button.btn.btn-primary.btn-block"));
element.click();