我想执行点击添加到卡丁车按钮的操作,但这个相同的DOM代码用于30多个项目,只有产品名称不同,这是在文本中。我想执行点击添加到卡丁车按钮的操作,但这个相同的DOM代码用于30多个项目,只有产品名称不同,这是在文本中。
yrdbyhpb1#
基本上,如果产品名称是唯一唯一的东西,那么您需要首先找到产品,然后使用它的父元素来访问单击按钮。
product = driver.find_element(value=f"//*[contains(text(), '{product_name}')]", by=By.XPATH) parent_element = product.find_element(value="..", by=By.XPATH) button = parent_element.find_element(value="button", by=By.TAG_NAME) button.click()
编辑:看起来像是我为python编写的解决方案,但你也可以用java做同样的事情。
eeq64g8w2#
正如@Saba提到的,如果DOM中唯一的东西是产品名称,那么您必须依赖它来定位。如果您可以使用部分产品名称,则此程式码可用来建立选取器,以透过下列方式寻找并按一下元素:
String productNamePartial = "Brocolli"; String xpath = String.format("//*[contains(text(),'%s')]/../div/button", productNamePartial);
如果您需要使用确切的标题,可以这样做:
String productNameExact = "Brocolli - 1 Kg"; String xpath = String.format("//*[text() = '%s']/../div/button", productNameExact);
2条答案
按热度按时间yrdbyhpb1#
基本上,如果产品名称是唯一唯一的东西,那么您需要首先找到产品,然后使用它的父元素来访问单击按钮。
编辑:看起来像是我为python编写的解决方案,但你也可以用java做同样的事情。
eeq64g8w2#
正如@Saba提到的,如果DOM中唯一的东西是产品名称,那么您必须依赖它来定位。
如果您可以使用部分产品名称,则此程式码可用来建立选取器,以透过下列方式寻找并按一下元素:
如果您需要使用确切的标题,可以这样做: