как нажать на первый результат поиска по метакриту с селеном - PullRequest
0 голосов
/ 08 октября 2018

как мне щелкнуть первый результат поиска в строке поиска metacritc?

это то, что у меня есть:

self.search_element = self.driver.find_element_by_name("search_term")
self.search_element.clear()
self.search_element.send_keys(self.game_line_edit.text())

self.link_to_click = self.driver.find_element_by_name("search_results_item")
self.link_to_click.click()

# self.game.setText(self.driver.find_element("search_results_item"))
self.game_line_edit.setText("")
self.driver.close()

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

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"name","selector":"search_results_item"}

Я понимаю, что селен не может найти ссылку, но я не уверен, что это за элемент

Это HTML-код, на который я пытаюсь нажать:

<a class="search_results_item" href="https://www.metacritic.com/game/pc/into-the-breach">
    <span class="metascore_w score_outstanding">90</span>
    <span class="title" data-mctitle="Into the Breach"><b>Into the</b> Breach</span>
    <span class="type secondary">PC Game</span>
    <span class="separ secondary">,</span>
    <span class="date secondary">2018</span>
</a>

может кто-нибудь помочь?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Если вы хорошо используете xPath, вы можете выбрать по индексу.

(// a [содержит (@ class, 'search_results_item')]) [1]

@Джефф также прав.Вы не должны выбирать по имени, потому что этот элемент не имеет имени.Как минимум, выберите по классу или тегу.

0 голосов
/ 09 октября 2018

Вы ищете по имени, когда ссылаетесь на класс.Вместо этого используйте селектор CSS, например,

.find_element_by_css_selector(".search_results_item")

.search_results_item указывает класс с именем search_results_item.

Если это не сработает, вам, вероятно, нужно подождать.См. этот ответ для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...