【发布时间】:2020-01-28 07:44:11
【问题描述】:
driver.find_element_by_xpath("very long xpath").click()
当我尝试在浏览器上自动执行任务时,我有许多“查找元素并与之交互”操作,有哪些方法可以将长 XPath 定位器存储在变量中以跟踪代码是在任务方面,只是为了代码的美观?
路径:
/html/body/main/div[2]/div[6]/div[3]/div[4]/div/div[2]/table/tbody/tr[1]/td[2]
/html/body/main/div[2]/div[6]/div[3]/div[4]/div/div[2]/table/tbody/tr/td/ul/li[1]/h3/a[3]
谢谢!
【问题讨论】:
-
除非您发布 xpath 的示例,否则很难提出更改建议。有很多方法可用于例如相对 xpath、谓词,您可以尝试。
-
这取决于html,没有全局方法来缩短所有现有的xpath。
-
添加了实际路径
-
了解 html/css 和 javascript 的基础知识,以更好地使用 python 掌握您的网络自动化。简化的方法是简单地将 xpath 添加到列表或变量中,以便在需要的地方轻松传递它们。
-
您的位置路径严重依赖位置谓词来选择唯一节点。当您对文档语义(标识符、文档中出现的顺序等)一无所知时,这是最常用的方法
标签: python html selenium xpath xpath-1.0