无法在Safari 13.0.4中使用Selenium单击元素

问题描述 投票:0回答:1

诸如org.openqa.selenium.WebElement.click()org.openqa.selenium.interactions.Actions.click()之类的方法在运行时不会触发任何错误,但是不会发生单击动作。使用Javascript尝试过,但我尝试单击的元素似乎不可点击(在Chrome开发人员工具中返回未定义)

这里是元素的html

<div class="flatpickr-calendar animate showTimeInput arrowTop open" tabindex="-1" style="width: 245px; top: 719px; left: 1603.17px; right: auto;">
 <div class="flatpickr-months">...</div>
 <div class="flatpickr-innerContainer">
  <div class="flatpickr-rContainer">
  <div class="flatpickr-weekdays">...</div>
   <div class="flatpickr-days" tabindex="-1" style="width: 245px;">
    <div class="dayContainer">
     <span class="flatpickr-day " aria-label="December 29, 2019" tabindex="-1">29</span>
    </div>
   </div>
  </div>
 </div>
</div>
java selenium xpath css-selectors webdriverwait
1个回答
0
投票

要单击元素,您必须为elementToBeClickable()引入WebDriverWait,并且可以使用以下Locator Strategies中的任何一个:

  • cssSelector

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("div.dayContainer>span.flatpickr-day[aria-label='December 29, 2019']"))).click();
    
  • xpath

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='dayContainer']/span[@class='flatpickr-day ' and text()='29']"))).click();
    
© www.soinside.com 2019 - 2024. All rights reserved.