Я пытаюсь автоматизировать процесс входа на сайт и поиска и добавления атрибута.У меня есть для этого, но теперь нужно найти идентификатор в контейнере прокрутки.Попытайтесь найти идентификатор, который был добавлен, и щелкните его в окне.Проблема, которую я обнаружил в известных мне методах, заключается в том, что он должен быть видимым, и при том, как WebUI построен со встроенным контейнером прокрутки, он не может его найти.
Так что я смотрел на HTMLи думаю, можно добраться до этого через этот путь, но мне нужно лишь небольшое руководство, так как я не нашел в Интернете ничего, что соответствовало бы моим потребностям.
В примере HTML вы увидите, гдеданные, которые мне нужно найти, находятся в тегах tr
и td class="readonly-cell cell-selected cell-selected-primary sheet-coll
.
. Я пытаюсь получить идентификатор GPC_material, который находится в <span>
в тегах td.
IЯ работал с WebDriver, чтобы посмотреть, смогу ли я найти идентификатор, но столкнулся с проблемой, пытаясь устранить неполадку, чтобы процесс прокрутил контейнер прокрутки вниз, чтобы найти идентификатор.
HTML:
<table class="sheet-table horizontal-sheet-table last-row-horizontal-content-page">
<tbody>
<tr class="odd" style="height:32px;">
<td class="readonly-cell cell-selected cell-selected-primary sheet-coll" data-col="0" data-row="133" style="display: table-cell; width:100px;" title="">
<div class="sheet-cell" style="max-height:28px">
<span>
GPC_material
</span>
</div>
</td>
<td class=" sheet-coll" data-col="1" data-row="133" style="display: table-cell; width:100px;" title="">
<div class="sheet-cell" style="max-height:28px">
</div>
</td>
<td class=" sheet-coll" data-col="2" data-row="133" style="display: table-cell; width:100px;" title="">
<div class="sheet-cell" style="max-height:28px">
</div>
</td>
<td class=" sheet-coll" data-col="3" data-row="133" style="display: table-cell; width:100px;" title="">
<div class="sheet-cell" style="max-height:28px">
<span class="gwt-CheckBox">
<input id="gwt-uid-912x133x3x604577791" tabindex="-1" type="checkbox"/>
<label for="gwt-uid-912x133x3x604577791">
</label>
</span>
</div>
</td>
<td class=" sheet-coll" data-col="4" data-row="133" style="display: table-cell; width:100px;" title="">
<div class="sheet-cell" style="max-height:28px">
</div>
</td>
<td class=" sheet-coll" data-col="5" data-row="133" style="display: table-cell; width:100px;" title="">
<div class="sheet-cell" style="max-height:28px">
</div>
</td>
<td class="readonly-cell sheet-coll" data-col="6" data-row="133" style="display: table-cell; width:100px;" title="">
<div class="sheet-cell" style="max-height:28px">
</div>
</td>
</tr>
</tbody>
</table>
КОД I ПРЕДЫДУЩАЯ ПРОБОВАНА:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
driver = webdriver.Chrome()
wait = WebDriverWait(driver, 20)
attribute_id = 'GPC_material'
table = wait.until(driver.find_element(By.XPATH, "//tr/td[@class ='readonly-cell cell-selected cell-selected-primary sheet-coll']"))
Конечной целью является поиск идентификатора и «щелчок», потому что на этом уровне строки я будунеобходимо выполнить процессы, такие как вставка «Y» в ячейку, щелкнуть радио, если это необходимо, и вставить число в другую ячейку в той же строке идентификатора.