Невозможно найти элемент, используя CSS_SELECTOR в селене, используя python - PullRequest
0 голосов
/ 22 января 2019

Я пытался найти и щелкнуть () изображение, созданное на JavaScript.Используя css_selector, я могу найти элемент, однако мне нужно навести курсор на 1-й элемент таблицы, чтобы зафиксировать местоположение изображения.

<tbody>
<tr __gwt_row="0" __gwt_subrow="0" class="GPBYFDECG">
    <td class="GPBYFDEBG GPBYFDEDG GPBYFDEEG datagridCellStyle"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-6847" tabindex="0">ACD CALL DETAILS NEW</div></td>
    <td class="GPBYFDEBG GPBYFDEDG datagridCellStyle"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-6848">sup001</div></td>
    <td class="GPBYFDEBG GPBYFDEDG datagridCellStyle"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-6849">2019-01-22 01:05:57</div></td>
    <td class="GPBYFDEBG GPBYFDEDG datagridCellStyle"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-6850"><img onload="this.__gwtLastUnhandledEvent=&quot;load&quot;;" src="http://172.00.00.00.00:8889/ameyoreports/AmeyoReportsApp/clear.cache.gif" style="width:16px;height:16px;background:url(http://172.00.00.00:8889/ameyoreports/AmeyoReportsApp/0210CFCB6CBE82D7E9FAC82D9F901495.cache.png) no-repeat -308px -25px;" border="0"></div></td>
    <td class="GPBYFDEBG GPBYFDEDG datagridCellStyle"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-6851">SUCCESS</div></td><td class="GPBYFDEBG GPBYFDEDG datagridCellStyle"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-6852"></div></td>
    <td class="GPBYFDEBG GPBYFDEDG gwt-Clickable-Custom"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-6853"><img onload="this.__gwtLastUnhandledEvent=&quot;load&quot;;" src="http://172.00.00.00.00/ameyoreports/AmeyoReportsApp/clear.cache.gif" style="width:24px;height:24px;background:url(http://172.00.00.00:8889/ameyoreports/AmeyoReportsApp/0210CFCB6CBE82D7E9FAC82D9F901495.cache.png) no-repeat -406px 0px;" border="0"></div></td>
    <td class="GPBYFDEBG GPBYFDEDG gwt-Clickable-Custom"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-6854"></div></td><td class="GPBYFDEBG GPBYFDEDG"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-6855"></div></td><td class="GPBYFDEBG GPBYFDEDG GPBYFDEOG gwt-Clickable-Custom"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-6856"></div></td>
</tr>
<tr __gwt_row="1" __gwt_subrow="0" class="GPBYFDEBH">
<td class="GPBYFDEBG GPBYFDECH GPBYFDEEG datagridCellStyle"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-601">ACD CALL DETAILS NEW</div></td>
    <td class="GPBYFDEBG GPBYFDECH datagridCellStyle"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-602">Administrator</div></td>
    <td class="GPBYFDEBG GPBYFDECH datagridCellStyle"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-603">2019-01-22 18:06:58</div></td>
    <td class="GPBYFDEBG GPBYFDECH datagridCellStyle"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-604"><img onload="this.__gwtLastUnhandledEvent=&quot;load&quot;;" src="http://172.00.00.00:8889/ameyoreports/AmeyoReportsApp/clear.cache.gif" style="width:16px;height:16px;background:url(http://172.00.00.00:8889/ameyoreports/AmeyoReportsApp/0210CFCB6CBE82D7E9FAC82D9F901495.cache.png) no-repeat -308px -25px;" border="0"></div></td>
    <td class="GPBYFDEBG GPBYFDECH datagridCellStyle"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-605">SUCCESS</div></td><td class="GPBYFDEBG GPBYFDECH datagridCellStyle"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-606"></div></td>
    <td class="GPBYFDEBG GPBYFDECH gwt-Clickable-Custom"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-607"><img onload="this.__gwtLastUnhandledEvent=&quot;load&quot;;" src="http://172.00.00.00:8889/ameyoreports/AmeyoReportsApp/clear.cache.gif" style="width:24px;height:24px;background:url(http://172.00.00.00:8889/ameyoreports/AmeyoReportsApp/0210CFCB6CBE82D7E9FAC82D9F901495.cache.png) no-repeat -406px 0px;" border="0"></div></td>
    <td class="GPBYFDEBG GPBYFDECH gwt-Clickable-Custom"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-608"></div></td><td class="GPBYFDEBG GPBYFDECH"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-609"></div></td><td class="GPBYFDEBG GPBYFDECH GPBYFDEOG gwt-Clickable-Custom"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-610"></div</td>
</tr>
<tr __gwt_row="2" __gwt_subrow="0" class="GPBYFDECG">
    <td class="GPBYFDEBG GPBYFDEDG GPBYFDEEG datagridCellStyle"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-6847" tabindex="0">ACD CALL DETAILS NEW</div></td>
    <td class="GPBYFDEBG GPBYFDEDG datagridCellStyle"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-6848">sup001</div></td>
    <td class="GPBYFDEBG GPBYFDEDG datagridCellStyle"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-6849">2019-01-22 01:05:57</div></td>
    <td class="GPBYFDEBG GPBYFDEDG datagridCellStyle"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-6850"><img onload="this.__gwtLastUnhandledEvent=&quot;load&quot;;" src="http://172.16.10.23:8889/ameyoreports/AmeyoReportsApp/clear.cache.gif" style="width:16px;height:16px;background:url(http://172.00.00.00:8889/ameyoreports/AmeyoReportsApp/0210CFCB6CBE82D7E9FAC82D9F901495.cache.png) no-repeat -308px -25px;" border="0"></div></td>
    <td class="GPBYFDEBG GPBYFDEDG datagridCellStyle"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-6851">SUCCESS</div></td><td class="GPBYFDEBG GPBYFDEDG datagridCellStyle"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-6852"></div></td>
    <td class="GPBYFDEBG GPBYFDEDG gwt-Clickable-Custom"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-6853"><img onload="this.__gwtLastUnhandledEvent=&quot;load&quot;;" src="http://172.16.10.23:8889/ameyoreports/AmeyoReportsApp/clear.cache.gif" style="width:24px;height:24px;background:url(http://172.00.00.00:8889/ameyoreports/AmeyoReportsApp/0210CFCB6CBE82D7E9FAC82D9F901495.cache.png) no-repeat -406px 0px;" border="0"></div></td>
    <td class="GPBYFDEBG GPBYFDEDG gwt-Clickable-Custom"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-6854"></div></td><td class="GPBYFDEBG GPBYFDEDG"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-6855"></div></td><td class="GPBYFDEBG GPBYFDEDG GPBYFDEOG gwt-Clickable-Custom"><div style="outline-style:none;" __gwt_cell="cell-gwt-uid-6856"></div></td>
</tr>
</tbody>

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

Используя приведенный ниже код, я смог найти необходимый элемент.Однако мне пришлось вручную навести курсор на первый ряд, чтобы сделать это.Кроме того, если я случайно наведусь на 2-й или 3-й ряд, вместо 2-го будет загружен контент 2-го и 3-го ряда.

WebDriverWait(driver, 60).until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".GPBYFDEKG:nth-child(7) img"))).click() 

Можно ли как-нибудь вручную щелкнуть 7-й дочерний элемент первого ряда безпарить над ним?

1 Ответ

0 голосов
/ 22 января 2019

Я не уверен, что он будет работать в Python или нет, но вы можете попробовать следующие XPath:

//tr[@__gwt_row='0']/td[last()]

или

(//tr[@__gwt_row='0']/td)[7]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...