如何通过使用xpath在嵌套xml中查找Web元素

时间:2019-06-21 20:26:11

标签: java selenium selenium-webdriver xpath

我试图通过使用xpath在电子商务网站的菜单上单击一个元素,但是找不到它。

我直接尝试通过以下方法达到目标,但没有成功。

b

然后,我也尝试通过考虑嵌套的xml来达到此目的,但无法再次执行。

driver.findElement(By.xpath("//*[@id=\"w_1561138892240_cbx\"]")).click();

如何解决此问题?

nested xml nested xml 2

2 个答案:

答案 0 :(得分:0)

要处理动态元素,请使用WebdriverWait尝试以下xpath来单击该元素。

WebDriverWait wait = new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//li[@name='Brand']//input[@type='checkbox' and @aria-label='Apple']"))).click();

答案 1 :(得分:0)

这是您可以使用的xpath。

//li[contains(@class,'__list--aspect')]//input[@aria-label='Apple']

如果要严格使用id,请在下面使用(不建议使用)

 //li[contains(@class,'__list--aspect')]//input[@id='w_1561151835676_cbx']

Scrrenshot enter image description here