Как найти объект с помощью Selenium и Python - PullRequest
0 голосов
/ 19 января 2019

Итак, я использовал find_element_by_xpath, чтобы расслоить разные объекты в одном и том же html, используя селен.

Но теперь я пытаюсь найти определенный элемент в том же html, всегда копируя xpath (chrome> inspect element> copy xpath), и получаю ошибку NoSuchElementException .

Объект находится вне любого iframe.

Вот объект, к которому я пытаюсь получить доступ:

<a class="carb-de-grid-name-link" data-index="1">CapLeads DataExtension_Copy</a>

И вся вещь HTML:

https://docs.google.com/document/d/1QfKlfYcH1y-aZ1oOZXzPwR1qeas7QjQDo0VeQOqdm-E/edit?usp=sharing

Строка Python:

link_data_extension_2=driver.find_element_by_xpath('//*[@id="dg-wrap"]/div[2]/div[2]/div[2]/div[1]/div[3]/div[2]/a')

Я уже пытался удерживать программу и ждать загрузки страницы (20 с), ничего.

Любой вклад приветствуется.

1 Ответ

0 голосов
/ 19 января 2019

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

  • Использование LINK_TEXT:

    link_data_extension_2 = driver.find_element_by_link_text("CapLeads DataExtension_Copy")
    
  • Использование CSS_SELECTOR:

    link_data_extension_2 = driver.find_element_by_css_selector("a.carb-de-grid-name-link")
    
  • Использование XPATH:

    link_data_extension_2 = driver.find_element_by_xpath("//a[@class='carb-de-grid-name-link' and text()='CapLeads DataExtension_Copy']")
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...