以下html片段需要xpath或css

以下html片段需要xpath或css,css,xpath,selenium,Css,Xpath,Selenium,下面的html代码生成一个弹出窗口来添加产品。试图找到将在selenium中工作的xpath或css,它允许单击“添加”按钮添加新产品 我尝试使用这个xpath//div[18]/div[2]/div/按钮,它只适用于一个会话。当您关闭浏览器并重新打开时,上面的xpath不起作用。那么,我们如何编写这样一个xpath,在本例中,它不必传递div[number],而是div[18] <div style="height: auto; min-height: 104px; width: aut

下面的html代码生成一个弹出窗口来添加产品。试图找到将在selenium中工作的xpath或css,它允许单击“添加”按钮添加新产品

我尝试使用这个xpath//div[18]/div[2]/div/按钮,它只适用于一个会话。当您关闭浏览器并重新打开时,上面的xpath不起作用。那么,我们如何编写这样一个xpath,在本例中,它不必传递div[number],而是div[18]

<div style="height: auto; min-height: 104px; width: auto;" class="dialog ui-dialog-content ui-widget-content">
<fieldset><legend>search</legend>
<div id="nameorids">
<input type="radio">name
<input type="radio">id
</fieldset>
<div style="clear: both; padding-top: 5px; float: right;"><button class="add">add</button></div></div>

搜索
名称
身份证件
添加

首先,此HTML无效:在关闭字段集之前,
nameorids
div未关闭。打字错误

如果可以影响HTML,请尝试向外部div添加id或class属性,以便使用css选择器将它们作为目标。例如,如果你能使HTML看起来像

<div id="foo" ...

对于同一个节点,可能有许多不同的XPath。在这种情况下,这是唯一一个类为“add”的按钮吗?在这种情况下:

//button[contains(concat(' ', @class, ' '), ' add ')]
我只会按那个按钮。仅仅拥有一个HTML片段并不是很有用


如果您可以访问该页面,并且可以运行Chrome浏览器,请尝试我的扩展。安装后重新启动Chrome,然后右键单击按钮上的并选择
xpath->Element(Short)
。这将尝试找到此元素的唯一路径,并将其复制到剪贴板和控制台。

css将是button.add

selenium.click("css=button.add");
嗨,奥利普,谢谢你的回复。不幸的是,我没有权限修改HTML代码。所以不能,我不能分配任何标识或属性。