У меня есть тест в селене (с использованием Python и FirefoxWebdriver). На тестовом веб-сайте у меня есть таблица записей, и я хочу щелкнуть элемент в этой таблице, но мне нужно прокрутить этот элемент, а затем я могу щелкнуть по нему.scrollIntoView() прокручивается до очень низкого уровня
Для прокрутки Я использую этот метод:
def scroll_to_element(self, element):
try:
self.driver.execute_script("return arguments[0].scrollIntoView();", element)
except Exception as e:
print 'error scrolling down web element', e
Но этот метод свитки значительно вниз. Элемент находится примерно на 2 строках сверху и до сих пор не виден. Есть ли другой способ, который прокручивает Элемента? Я вообще не испытываю этих сценариев.
Вот таблица:
<table id="idMainGriddata_columns" agname="data_columns" userid="1" entityidcolumnname="dc_id" editable="1" border="0" class="adodb_dbgrid" scrollx="0">
<colgroup>
<col width="25">
# ...
</colgroup>
<tbody>
<tr entityid="14" class="adodb_dbgrid_even_row">
<td class="centered" value="14">...</td>
# ...
</tr>
# ... 400x tr
</tbody>
</table>
и здесь использование этого метода:
variable = driver.find_element_by_xpath("//table[@id='idMainGriddata_columns']/tbody/tr/td[contains(text(), '" + column + "')]")
st.scroll_to_element(self, variable)
actions = ActionChains(self.driver)
actions.move_to_element(variable)
actions.double_click(variable)
actions.perform()
Который точный элемент вы хотите щелкнуть? каково значение столбца? –
Я не буду дважды щелкнуть эту целую строку (и я нажимаю на элемент td, который будет доступ к строке, которую я хочу). Я отредактирую свой пост. – Pivoman
Ну, я хочу, чтобы щелкнуть по строке, сделайте свой xpath точкой, так как теперь он указывает на элемент td. –