Как получить ссылку 'href', используя селен? - PullRequest
1 голос
/ 17 июня 2019

Я использовал селен-питон. и я хочу сделать ' E-mail верифицировать регистр '. В тестовом примере я переадресовал ссылку ' a href .

Да. Это случай, просто используя find_element_by_partial_link_text я знаю. Но я не понимаю, не работает ли в моем случае.

вот случай

<tbody> 
<tr>
  <td style = "padding-bottom:40px;">
     <a href="(auth link)" target="blank" style="(some style)">Verify address</a>
  </td>
</tr>
</tbody>

Я использую

  1. find_element_by_partial_link_text("Verify") / ("Verify Address") / ("address")
  2. find_element_by_css_selector("padding-bottom").get_attribute('href')

но есть исключение make 'selenium.common.exceptions.NoSuchElementException': <</p>

и попробуйте <br> find_element_by_xpath(), но это auth-link меняется каждый раз.

Как перейти по ссылке href и перейти по этой ссылке?

Ответы [ 2 ]

0 голосов
/ 17 июня 2019

Вы также можете попробовать XPATH, используя текст.Попробуйте любое из следующего списка:

//a[text()='Verify address']
//a[contains(text(),'Verify address')]
//a[starts-with(text(),'Verify')]

После поиска элемента вы можете получить get_attributes или любое другое действие.

Надеюсь, это решит вашу проблему.

0 голосов
/ 17 июня 2019

попробуйте ввести webdriverwait.

Я изменяю link_text на partial_link_text. Просто убедитесь, что в интерфейсе пользователя должна присутствовать только одна ссылка Verify address, иначе код не выдаст ошибку, он просто выберет первый элемент.

wait = WebDriverWait(driver, 10)
element = wait.until(EC.element_to_be_clickable((By.PARTIAL_LINK_TEXT, 'Verify address')))

Для нажатия просто используйте:

element.click()

Для получения href используйте:

element.get_attribute('href')

Вы можете следовать этому официальному Ссылка для более.

Вам необходимо импортировать эти:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC 

Дайте мне знать, если у вас есть какие-либо проблемы.

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