【问题标题】:How to locate an element that doesn't have element name using xpath? [duplicate]如何使用 xpath 定位没有元素名称的元素? [复制]
【发布时间】:2020-01-20 19:06:39
【问题描述】:

您好,谁能告诉我是否可以使用 xpath 对没有元素名称的元素进行本地化?我要单击的元素是标签旁边的“x”按钮,它没有名称,当我在浏览器中检查元素时发现它是“::after”。

::after

【问题讨论】:

  • ::after 元素在 DOM 中并不真正存在,您无法使用 XPath 处理它们(它们被称为“伪元素”是有原因的)。
  • fd-token 标签的定位器应该适合你。试试 //fd-token[@id='token']。由于该标签在您突出显示的位置后关闭。希望这可能有效:)
  • @BeingAutomation,不,不幸的是这不起作用,它只会点击文本标签,不会给出预期的行为。

标签: selenium xpath


【解决方案1】:

您使用 JavaScript 获取元素。示例如何从伪元素中获取content

element = wait.until(ec.visibility_of_element_located((By.CSS_SELECTOR, "span.business-in-area")))
element_content = driver.execute_script("return window.getComputedStyle(arguments[0], ':before').getPropertyValue('content');", element)

【讨论】:

  • 嗨@Sers你能给我这个例子特有的例子吗,我不知道“span.business-in-area”是什么?什么是":before'?我认为它可能是'::after'?
  • 您应该将span.business-in-area 替换为您的元素的选择器,并将before 替换为after
猜你喜欢
  • 2013-07-29
  • 2017-01-07
  • 2021-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-11
  • 2017-07-15
  • 1970-01-01
相关资源
最近更新 更多