При нажатии на флажок возвращалась ошибка о том, что другой элемент получит щелчок - PullRequest
0 голосов
/ 23 апреля 2019

Когда я запускаю код фреймворка робота:

Wait Until Element Is Visible    xpath=//span[contains(text(),'Add to Cart')]    10     
    Click Element    xpath=//div/input[@id='_wdmaf']

Я получаю ошибку

20190423 14:05:32.525 : FAIL : WebDriverException: Message: unknown error: Element 
<input tabindex="0" bh="CHKGAT" id="_wdmaf" type="checkbox" value="1" class="w-chk-native" hasaction="true"> is not clickable at point (311, 221). 
Other element would receive the click: <label bh="CHK" class="w-chk w-chk-dsize"></label>

Элемент, на который я пытаюсь щелкнуть, выглядит следующим образом:

<td class="noWrap">
    <input tabindex="0" bh="CHKGAT" id="_wdmaf" type="checkbox" value="1" class="w-chk-native" hasaction="true">
    <label bh="CHK" class="w-chk w-chk-dsize"></label>

Независимо от того, как я пытаюсь изменить селектор, я получаю эту ошибку.Это флажок без текста, который затем выбирает все элементы в списке покупок.

Есть идеи?

1 Ответ

0 голосов
/ 24 апреля 2019

Это вполне может быть тот случай, когда пользователь должен щелкнуть по элементу label - в конце концов, селен жалуется, что перекрывает элемент input в макете, поэтому он может быть помещен туда намеренно.

Если для всех намерений и целей нажатие label приведет к желаемому функциональному изменению на странице (выбор всех элементов), я бы согласился.Целевой xpath будет выглядеть примерно так:

//div/input[@id='_wdmaf']/following-sibling::label

Это выберет label, который следует за input и находится на той же метке в иерархии.Если вы хотите быть более конкретным, вы можете добавить к суффиксу условие [@bh='CHK']

...