XPath (XML Path Language) 是一种在XML和HTML文档中查找信息的语言,它使用路径表达式来选取文档中的节点或节点集。在Web自动化测试中,XPath是定位页面元素的常用方法之一。
在Chrome或Firefox浏览器中:
虽然WebDriver本身不提供直接获取元素XPath的方法,但可以通过JavaScript执行来获取:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://example.com")
element = driver.find_element_by_id("some-id")
# 获取元素的XPath
xpath = driver.execute_script("""
function getElementXPath(element) {
if (element.id !== '')
return '//*[@id="' + element.id + '"]';
if (element === document.body)
return element.tagName.toLowerCase();
var ix = 0;
var siblings = element.parentNode.childNodes;
for (var i = 0; i < siblings.length; i++) {
var sibling = siblings[i];
if (sibling === element)
return getElementXPath(element.parentNode) + '/' + element.tagName.toLowerCase() + '[' + (ix + 1) + ']';
if (sibling.nodeType === 1 && sibling.tagName === element.tagName)
ix++;
}
}
return getElementXPath(arguments[0]);
""", element)
print(xpath)
安装ChroPath等扩展后,可以直接在开发者工具中查看元素的XPath。
/html/body/div[1]/div[2]/form/input
//input[@name='username']
原因:
解决方案:
原因:
解决方案:
//
原因:
解决方案:
没有搜到相关的文章