gpt4 book ai didi

javascript - Python Selenium 访问 javascript 菜单中的隐藏链接

转载 作者:行者123 更新时间:2023-12-03 12:43:44 26 4
gpt4 key购买 nike

我如何执行此按钮触发的 javascript 子菜单,“x-auto-54”

    <table id="x-auto-54" 
class=" x-btn avtar-x-btn x-component x-btn-noicon x-unselectable "
cellspacing="0" role="presentation" unselectable="on">

最终目标是单击此子菜单链接\\a[@id="x-auto-89"]:

<div id="x-auto-55" class=" x-ignore x-menu x-component " style="z-index: 1053; width: 118px; display: block; position: absolute; left: 1095px; top: 18px;" tabindex="0" hidefocus="true" aria-labelledby="x-auto-54">
<div class=" x-menu-list" style="height: 96px;">
<div id="x-menu-el-x-auto-89" class="x-menu-list-item ">
<a id="x-auto-89" class=" x-menu-item x-component" href="#"></a>
</div>
<div id="x-menu-el-x-auto-90" class="x-menu-list-item "></div>
<div id="x-menu-el-x-auto-91" class="x-menu-list-item "></div>
<div id="x-menu-el-x-auto-92" class="x-menu-list-item "></div>
</div>
</div>
</body>

</html

我使用 Selenium IDE 找到了这些按钮(在录制时单击它们后)。否则整个源代码非常非常大(如果需要,我将根据要求发布)。

我的策略是一次访问每个层次结构标签,以便捕获不再能够找到 WebElements 的位置(在这种情况下,子菜单未打开,因此 x-auto-89 未打开)发现):

a54 = driver.find_element_by_id('x-auto-54')
hover = ActionChains(driver).move_to_element(a54).click()
hover.perform()
driver.find_element_by_id('x-auto-89').click()

点击代码是根据以下解决方案引用的:1 , 2 ,

最佳答案

首先,这些 id 看起来是自动生成的。这些 id(x-auto-54 或 x-auto-89)是否始终相同,或者每次刷新页面都会更改它们?

我建议使用类来代替 ID。

当您运行代码时,您是否看到按钮 x-auto-54 发生点击并出现子菜单?

子菜单出现需要多长时间?尝试使用 waitForElement 而不是 find element。

关于javascript - Python Selenium 访问 javascript 菜单中的隐藏链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23420201/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com