如何在 JavaScript 对象上 .click() ?



我目前正在python中使用Selenium chromedriver,我想将其折叠打开。

<a id="pp-T0-81" href="javascript:void(0)" data-action="a-expander-toggle" class="a-expander-header a-declarative a-expander-inline-header pmts-apply-claim-code a-spacing-base a-link-expander" data-a-expander-toggle="{&quot;allowLinkDefault&quot;:true, &quot;expand_prompt&quot;:&quot;&quot;, &quot;collapse_prompt&quot;:&quot;&quot;}"><i class="a-icon a-icon-collapse"></i><span class="a-expander-prompt"><span class="a-size-base xh-highlight">Voer een cadeaubon- of promotiecode in.</span></span></a>

但是,刷新页面时,id="pp-T0-81"似乎会发生变化。

不是很有经验,但我尝试使用Xpath但这似乎不起作用。

很难知道 XPath 在您的场景中有什么意义,但如果您认为data-actionclass是唯一的并且会保持稳定(您说id一直在变化(,那么您可以使用这两个:

const paragraphCount = document.evaluate( `//a[@data-action='a-expander-toggle'][@class='a-expander-header a-declarative a-expander-inline-header pmts-apply-claim-code a-spacing-base a-link-expander']`, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null ).singleNodeValue
console.log(paragraphCount)
<a id="pp-T0-81" href="javascript:void(0)" data-action="a-expander-toggle" class="a-expander-header a-declarative a-expander-inline-header pmts-apply-claim-code a-spacing-base a-link-expander" data-a-expander-toggle="{&quot;allowLinkDefault&quot;:true, &quot;expand_prompt&quot;:&quot;&quot;, &quot;collapse_prompt&quot;:&quot;&quot;}"><i class="a-icon a-icon-collapse"></i><span class="a-expander-prompt"><span class="a-size-base xh-highlight">Voer een cadeaubon- of promotiecode in.</span></span></a>

使用动态 id 进行测试并不是一个可靠的主意。我建议使用 DOM 嵌套来定位元素。

相关内容

  • 没有找到相关文章

最新更新