不检索机器人框架锚标记值


<div class="m-page-nav m-bottom-2" data-hbui="mobile-nav" role="navigation">
<span aria-`enter code here`label="Collapse page navigation" class="a-icon m-page-nav-icon m-page-nav-icon-collapse">expand_more</span>
<span aria-label="Expand page navigation" class="a-icon m-page-nav-icon m-page-nav-icon-expand">expand_more</span>
<button data-scroll-header class="m-page-nav-button"></button>
<div data-gumshoe class="m-page-nav-list">
<a data-scroll href="#intro" tabindex="0">Intro</a>
<a data-scroll href="#courseHeadingDescription" tabindex="0">Enrolment Disclaimer</a>
<a data-scroll href="#admissionRequirements" tabindex="0">Admission Requirements</a>
<a data-scroll href="#programRequirements" tabindex="0">Program Requirements</a>
<a data-scroll href="#professionalOutcomes" tabindex="0">Professional Outcomes</a>
<a data-scroll href="#recognitionMasters" tabindex="0">Recognition of Achievement</a>
<a data-scroll href="#fees" tabindex="0">Program Fees</a>
</div>
</div>

我对机器人框架有点陌生。我正在尝试使用以下 xpath 从Intro href锚标记值中检索值

//*[@id="pageNavContainer"]/div/div/a[2]/@href

但是当我运行脚本以获取具有上述 xpath 的文本时,我收到以下错误:

InvalidSelectorException: Message: invalid selector: The result of the xpath express

我也尝试使用getattribute但没有用。任何人都可以帮助我找出正确的 xpath 是什么?提前致谢

您收到的错误说明了一切 - 您提供的选择器不是有效的选择器; 问题来自最后的/@href结构。

在 XPath 中,可以肯定地使用此语法解决特定节点的属性。然而,在Selenium(Robotframework包装(中,定位器必须指向一个元素,而不是它的属性 - 因此当它评估你的表达式时,它会抛出异常。

如果将定位器更改为

//*[@id="pageNavContainer"]/div/div/a[2]

,并使用Get Element Attribute传递 href 作为目标,您将获得所需的值。

要提取文本介绍,您可以使用以下xpath

//*[@id="pageNavContainer"]//div[@class='m-page-nav m-bottom-2']//div[@class='m-page-nav-list']//following-sibling::a[1]

接下来,您可以使用 Get 元素属性提取href

${HREF}=    Get Element Attribute    ${element_xpath}@href

相关内容

  • 没有找到相关文章

最新更新