Как нажать на значок ссылки в редакторе CK - PullRequest
0 голосов
/ 28 марта 2019

Когда я сначала щелкаю значок ссылки в редакторе ck, он работает, но при повторном запуске кода он не щелкает значок ссылки в редакторе ck.

Это команда, которую я использовал изначально:

driver.findElement(By.xpath("//*[@id='cke_29']/span[1]")).click();

enter image description here

Ответы [ 3 ]

1 голос
/ 28 марта 2019

Используйте WebDriverWait для обработки динамического элемента.

WebDriverWait wait = new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//a[starts-with(@id,'cke_')][@class='cke_button cke_button__link cke_button_off']"))).click();
0 голосов
/ 28 марта 2019

Требуемый элемент является JavaScript включенным элементом, поэтому click() на элементе, который вы должны заставить WebDriverWait , чтобы элемент был кликабельным , и вы может использовать любую из следующих стратегий локатора :

  • Использование CSS_SELECTOR:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("a.cke_button.cke_button__link.cke_button_off[id^='cke_'][title^='Link']>span.cke_button_icon.cke_button__link_icon"))).click();
    
  • Использование XPATH:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@class='cke_button cke_button__link cke_button_off' and starts-with(@id,'cke_')][starts-with(@title,'Link')]/span[@class='cke_button_icon cke_button__link_icon']"))).click();
    
0 голосов
/ 28 марта 2019

Как прокомментировал @ akshay-Patil , используйте тег a.Причина в том, что тег <a> является самой ссылкой ... а не span!

Вы должны использовать:

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

Надеюсь, это поможет!

...