gpt4 book ai didi

xpath - 处理动态 Xpath

转载 作者:行者123 更新时间:2023-12-03 15:49:30 28 4
gpt4 key购买 nike

我正在使用 Selenium 自动化。需要您的帮助来处理动态 Xpath,如下所示:
Driver.findElement(By.xpath("//[@id='INQ_2985']/div[2]/tr/td/div/div[3]/div")).click();
如上 INQ_2985更改为 2986 , 2987 , 2988每次运行期间等

HTML代码:

< div> class="context-menu-item-inner" style="background-image:url(../images/productSmall.png);">Tender Assignment < /div> 

尝试了以下不同的组合,但没有成功:
// Driver.findElement(By.name("//input[@name='Tender Assignment']")).click();
// Driver.findElement(By.className("context-menu-item-inner")).click();`

你能帮我解决这个问题吗?

最佳答案

您可以尝试使用 contains()starts-with()在 xpath 中,

上面的xpath可以改写如下,

Driver.findElement(By.xpath("//*[starts-with(@id,'INQ')]/div[2]/tr/td/div/div[3]/div")).click();



如果您可以发布更多 html,我们可以帮助改进您的 xpath ..
  • 此外,不建议使用如此长的 xpath,这可能会导致您的测试更频繁地失败

  • for example,if a "new table data or div" is added to the UI, above xpath will no longer be valid


  • 你应该尝试使用 id、class 或其他属性来接近你试图找到的元素
  • 我个人推荐使用 cssSelectorsxpath
  • 关于xpath - 处理动态 Xpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19922759/

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