elementToBeClickable
用于检查元素是否可见并启用,以便您可以单击它。
ExpectedConditions.elementToBeClickable
如果预期条件为真,则返回 WebElement
,否则它将引发 TimeoutException
,它永远不会返回 。null
因此,如果您使用找到一个元素,该元素将始终为您提供可单击的元素,因此无需检查条件,则应尝试如下:-ExpectedConditions.elementToBeClickable
null
WebDriverWait wait = new WebDriverWait(Scenario1Test.driver, 10);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("(//div[@id='brandSlider']/div[1]/div/div/div/img)[50]")));
element.click();
正如你所说,传递两者,这并不意味着元素不可点击,它意味着返回的元素,但可能没有事件通过点击操作对元素执行。element.click()
link
label
clicked
注意:- 我建议您始终首先尝试通过 , 和其他定位器查找元素。如果您遇到一些查找困难,请使用并始终将定位器作为最后优先级,因为它比其他定位器定位元素慢。id
name
className
cssSelector
xpath
希望它能帮助你..:)