Nano Hash - криптовалюты, майнинг, программирование

Элемент выбора селена python

У меня страница выглядит так

https://imgur.com/Vfhp8N7.png

когда я нажимаю кнопку B, вся строка скрывается

Мне нужен селен, чтобы нажать кнопку B, а затем следующую кнопку B.

https://imgur.com/WGltHlG.png

но я не могу понять, как я пытаюсь найти, используя xpath или class

driver.find_element_by_xpath("//*[contains(@class, 'farm_icon_b')]").click()

но это не сработало

Я пытаюсь использовать массив пользователей

arr = []
driver.find_element_by_xpath("//*[contains(@class, 'farm_icon_b')]")[0].click()

но тоже ничего

<a href="#" onclick="return Accountmanager.farm.sendUnits(this, 4352, 6820)" class="farm_village_4352 farm_icon farm_icon_b"></a>

Есть идея выполнить Accountmanager.farm.sendUnits(this, 4352, 6820), но числа 4352, 6820 каждый раз разные

любая идея, пожалуйста?

редактировать

Я пытался

entries_count =   
len(driver.find_elements_by_css_selector(".farm_icon.farm_icon_b"))
for index in range(entries_count):
current_len = 
len(driver.find_elements_by_css_selector(".farm_icon.farm_icon_b"))
driver.find_elements_by_css_selector(".farm_icon.farm_icon_b")[entries_count - index - 1].click()
wait.until(lambda driver: len(driver.find_elements_by_css_selector(".farm_icon.farm_icon_b")) == current_len - 1)

но получаю эту ошибку

поднять класс_исключения (сообщение, экран, трассировка стека) selenium.common.exceptions.WebDriverException: сообщение: неизвестная ошибка: элемент нельзя щелкнуть в точке (833, 706). Другой элемент получит щелчок: ... (Информация о сеансе: chrome = 64.0.3282.186) (Информация о драйвере: chromedriver = 2.35.528161 (5b82f2d2aae0ca24b877009200ced9065a772e73), платформа = Windows NT 10.0.16299 x86_64)

в div id linkCotainer не интересен, но здесь

<div id="linkContainer">
  <a href="#" class="world_button_active evt-world-selection-toggle">Svět 57</a>
  <a href="https://forum.divokekmeny.cz" class="footer-link" target="_blank">Fórum</a> &nbsp;-&nbsp;
  <a href="https://help.divokekmeny.cz" class="footer-link" target="_blank">Nápověda</a> &nbsp;-&nbsp;
  <a href="/game.php?village=4549&amp;screen=settings&amp;mode=ticket" class="footer-link" target="_blank">Support</a> &nbsp;-&nbsp;
  <a href="/game.php?village=4549&amp;screen=settings&amp;mode=ref&amp;source=bottom_menu" class="footer-link">Pozvat hráče</a> &nbsp;-&nbsp;
  <a href="/game.php?village=4549&amp;screen=memo" class="footer-link">Poznámkový blok</a> &nbsp;-&nbsp;
  <a href="/game.php?village=4549&amp;screen=&amp;action=logout&amp;h=278e0f2a" target="_top" class="footer-link">Odhlášení </a>
</div>



Ответы:


1

Он сообщает вам, почему не может щелкнуть ваш элемент:

Other element would receive the click: <div id="linkContainer">...</div>

Чтобы устранить эту проблему, сначала найдите элемент, который блокирует тот, который вам нужен, перейдя в инструменты разработчика в своем браузере, щелкнув вкладку консоли и найдите элемент, который крадет ваш щелчок:

$$("div[id='linkContainer']")

Если это возвращает элемент в консоли, разверните его, щелкнув стрелку и наведя указатель мыши на подэлементы. Вы видите что-нибудь выделяющееся на странице? Если да, то это то, что вызывает у вас интерес, и оттуда вы можете сформулировать новый подход.

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

import pdb; pdb.set_trace() # This will drop you into a Python prompt
driver.find_element_by_xpath("//*[contains(@class, 'farm_icon_b')]").click()

Как только ваш скрипт достигнет точки отладки, он выдаст вам приглашение Python со всеми вашими переменными без изменений, так что вы можете управлять браузером с помощью драйвера, пока не обнаружите проблему.

Хорошей охоты.

26.02.2018
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..