gpt4 book ai didi

css - 如何定位列表中定义的按钮?

转载 作者:行者123 更新时间:2023-11-28 17:30:30 26 4
gpt4 key购买 nike

我正在编写一个自动化网页的 selenium 脚本。我需要单击列表中定义的按钮。

这是我的网络用户界面的图像 - New Account 是我指的按钮

Image

这是我的 XML 代码:

<div id="00B4E000000LQ2C_topNav" class="topNav primaryPalette">
<div id="00B4E000000LQ2C_subNav" class="subNav">
<div class="linkBar brandSecondaryBrd">
<div id="00B4E000000LQ2C_listButtons" class="listButtons">
<ul class="piped">
<li>
<input class="btn" type="button" title="New Account" onclick="navigateToUrl('/setup/ui/recordtypeselect.jsp?ent=Account&ekp=001&retURL=%2F001%3Ffcf%3D00B4E000000LQ2C%26isdtp%3Dnv%26nonce%3Df8007ad94993912b7ff4149193a6096ccfed4ebb1454e0b9b310ad14b61de71d%26sfdcIFrameOrigin%3Dhttps%253A%252F%252Fcs83.salesforce.com&save_new_url=%2F001%2Fe%3FretURL%3D%252F001%253Ffcf%253D00B4E000000LQ2C%2526isdtp%253Dnv%2526nonce%253Df8007ad94993912b7ff4149193a6096ccfed4ebb1454e0b9b310ad14b61de71d%2526sfdcIFrameOrigin%253Dhttps%25253A%25252F%25252Fcs83.salesforce.com&isdtp=vw','LIST_VIEW','new');" name="new" value="New Account"/>
</li>
<li class="lastItem">
</ul>

我用过:

driver.findElement(By.xpath(".//*[@id='00B4E000000LQ2C_listButtons']/ul/li[1]/input")).click();

(Xpath 是由 Firebug 给出的)但它给了我一个错误说明

unable to locate elements

请帮我编写脚本/找到这个按钮。

最佳答案

您不必使用 Firebug 生成的 XPath 并在整个过程中检查元素的父元素。我们可以做得更好,您可以编写更可靠和更简单的方法来定位元素:

driver.findElement(By.name("new"));

或:

driver.findElement(By.cssSelector("input[name=new]"));

或:

driver.findElement(By.cssSelector("input[value='New Account']"));

请注意,您拥有的 XPath 表达式看起来是有效的。您可能遇到时间问题,需要等待元素出现、可见性或可点击性,请参阅:How to wait until an element is present in Selenium? .

而且,如果按钮在 iframe 内,您需要切换到它的上下文,然后才搜索按钮:

driver.switchTo().frame("ext-comp-1005");

关于css - 如何定位列表中定义的按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36576983/

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