我正在 python 中使用 selenium 编写一个测试脚本。我有一个包含这样的树视图对象的网页:
我想遍历菜单以转到所需的目录。加/减指示的相应 HTML 代码是这样的:
<a onclick="changeTree('tree', 'close.gif', 'open.gif');">
<img id="someid" src="open.gif" />
</a>
图像的src
属性可以是open.gif
或close.gif
。
我可以通过简单地检查标签的src
属性来检测天气的好坏。我还可以通过使用img
轻松访问父标签.a
.find_element_by_xpath("..")
问题是我无法在img
标签a
上执行点击操作。
我试过了webdriver.Actions(driver).move_to_element(el).click().perform()
;但它没有用。
我想我应该提到访问元素没有问题,因为我可以打印它们的所有属性;我只是无法对它们执行操作。有什么帮助吗?
编辑1:
下面是折叠和展开树的 js 代码:
function changeTree(tree, image1, image2) {
if (!isTreeviewLocked(tree)) {
var image = document.getElementById("treeViewImage" + tree);
if (image.src.indexOf(image1)!=-1) {
image.src = image2;
} else {
image.src = image1;
}
if (document.getElementById("treeView" + tree).innerHTML == "") {
return true;
} else {
changeMenu("treeView" + tree);
return false;
}
} else {
return false;
}
}
编辑2:
我用谷歌搜索了几个小时,我发现触发 Javascript 事件和来自网络驱动程序的点击操作存在问题。此外span
,我的网页中有一个标签,它有一个onclick
事件,我也有这个问题。