java - 检查元素在 Selenium Java 中是否可点击

标签 java selenium selenium-webdriver automation

我是 Selenium 的新手,需要检查 Selenium Java 中的元素是否可点击,因为 element.click( )linklabel 上传递。

我试过使用下面的代码,但它不起作用:

WebDriverWait wait = new WebDriverWait(Scenario1Test.driver, 10);

if(wait.until(ExpectedConditions.elementToBeClickable(By.xpath("(//div[@id='brandSlider']/div[1]/div/div/div/img)[50]")))==null)

最佳答案

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() 同时传递给 linklabel 这并不意味着元素不可点击,它表示返回的元素 clicked 但可能没有事件通过点击操作对元素执行。

注意:- 我建议您始终首先尝试通过 idnameclassName 查找元素> 和其他定位器。如果您在查找时遇到一些困难,请使用 cssSelector 并始终将 xpath 定位器放在最后,因为它比其他定位器更慢地定位元素。

希望对你有帮助..:)

关于java - 检查元素在 Selenium Java 中是否可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38327049/

相关文章:

python - 使用 selenium webdriver xpath 选择组合框

java - 我可以通过 Java 在 Selenium 中使用没有 ExpectedCondition 的 WebDriverWait 吗?

c# - 如何使用 CI(持续集成)运行 Selenium 测试?

javascript - Protractor 如何点击空白处

java - 使用 mysqldump 进程错误从远程数据库备份 mysql

java - hashCode 方法以防 equals 方法支持 wildchar

python - Selenium 不起作用?

java - 当我显示对话框时,抛出异常 "UnhandledAlertException: Modal dialog present"

java - 我应该同时学习C++和Java吗?

java - android中retrofit2 api请求的响应主体始终为空