невозможно найти элемент с тегом привязки, имеющим onclick - PullRequest
0 голосов
/ 21 мая 2019

невозможно щелкнуть по элементу, который находится под тегом привязки и имеет код для щелчка по нему. Нужно нажать кнопку отправки.

Я предоставил неявное ожидание и использовал xpath, css selector.

<a onclick="if(validateSupplierANDLocation(4)){return saveorsubmitorder(4);}else{return false;};" id="ctl00_ContentPlaceHolder1_lnkSubmit" tabindex="35" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$ContentPlaceHolder1$lnkSubmit&quot;, &quot;&quot;, true, &quot;saveNexgenOrder&quot;, &quot;&quot;, false, true))"><img src="../images/tspacer.gif" alt="" width="10" height="1"><img id="imgOSubmit" border="none" src="../images/buttons/submit.gif" alt="Submit" title="Submit" style="cursor:pointer    "><img id="imgOReSubmit" border="none" src="../images/buttons/btn_re-submit.gif" alt="Submit" title="Submit" style="cursor: pointer; display: none;"></a>

<img src="../images/tspacer.gif" alt="" width="10" height="1">
<img id="imgOSubmit" border="none" src="../images/buttons/submit.gif" alt="Submit" title="Submit" style="cursor:pointer    ">
<img id="imgOReSubmit" border="none" src="../images/buttons/btn_re-submit.gif" alt="Submit" title="Submit" style="cursor: pointer; display: none;">

ошибка: неизвестная ошибка: элемент не активен в точке (885, 911). Другой элемент

получит клик:

code: WebDriverWait wait = new WebDriverWait(driver, 20);
        WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//html[1]/body[1]/form[1]/div[4]/table[1]/tbody[1]/tr[3]/td[1]/div[1]/div[2]/div[1]/div[3]/a[1]/img[2]")));
        driver.findElement(By.xpath("//html[1]/body[1]/form[1]/div[4]/table[1]/tbody[1]/tr[3]/td[1]/div[1]/div[2]/div[1]/div[3]/a[1]/img[2]")).click();

1 Ответ

0 голосов
/ 21 мая 2019

Абсолютный путь, используемый для определения местоположения кнопки, ненадежен, так как расположение кнопки может измениться в DOM. Попробуйте использовать относительный xpath. Попробуйте отладить до точки, где вы храните элемент в переменной WebElement. Если это ваш предполагаемый элемент, выполните действие click (). WebElement var = driver.findElement(By....)

В некоторых случаях, если действие щелчка не работает, нужно использовать JavascriptExecutor. Обратитесь по ссылке Не можете нажать на кнопку в java selenium?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...