#python #macos #google-chrome #selenium
#питон #macos #google-chrome #selenium #python
Вопрос:
Я пытаюсь улучшить свои Selenium
навыки, и для этой задачи я пытаюсь нажать кнопку так, как она выбирается по имени элементов таблицы.
Например, в этом случае я хочу найти EB Trial 2
и нажать import
кнопку, которая связана с этим.
<tr ng-repeat="event in bcEvents" class="ng-scope">
<td>
<div class="dib fxac">
<i class="icon-event fs32 text-light-blue mr15"></i>
<div class="event-inner">
<a href="" class="link link-underline db ng-binding">EB Trial2</a>
<span class="db fs-small text-light-blue ng-binding">11/15/2016</span>
</div>
</div>
</td>
<td ng-switch="bc_source">
<!-- ngSwitchWhen: 2 --><div ng-switch-when="2" class="ng-scope">
<a href="" ng-click="import_bc_event(event)" class="btn btn-icon btn-orange">
<i class="icon icon-eventbrite-icon"></i> Import
</a>
</div>
<!-- ngSwitchWhen: 8 -->
<!-- ngSwitchWhen: A -->
<!-- ngSwitchWhen: 9 -->
<!-- ngSwitchWhen: B -->
</td>
<!-- ngIf: bc_source != 2 -->
</tr>
Я пытаюсь дотянуться до него, XPath
но это не сработало
driver.find_element_by_xpath("//td[contains(text(),'EB Trial2')]/preceding-sibling::td[1]").click()
Я не могу понять, как это сделать
Кто — нибудь может мне помочь в этом?
Комментарии:
1. Пожалуйста, опубликуйте код, который вы используете, и какие ошибки и т.д. вы сталкиваетесь.
2. Я пытаюсь добраться до него с помощью XPath, но это не сработало driver.find_element_by_xpath(«//td[содержит (text(),’EB Trial2′)]/previous-sibling::td[1]»).нажмите () вот так. Я не могу понять, как это сделать.
Ответ №1:
Я хочу найти EB Trial 2, затем нажмите кнопку импорта, которая связана с этим
Вы должны попробовать использовать xpath
как :
driver.find_element_by_xpath(".//td[descendant::a[text()='EB Trial2']]/following-sibling::td//a[normalize-space(.)='Import']").click()
Комментарии:
1. Кстати, я пытаюсь дождаться, пока кнопка станет доступной для нажатия с помощью этого кода element = WebDriverWait(driver, 60).until( EC.element_to_be_clickable((By.XPATH,»»)), но это выдает мне неизвестную ошибку: элемент не доступен для кликабельности много раз