Selenium не может найти элемент поиска внутри формы - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь использовать селен для поиска в lexisnexis и не могу найти его в окне поиска. Я пробовал find_element_by, используя все возможные атрибуты, и я получаю только сообщение об ошибке «NoSuchElementException: Сообщение: нет такого элемента: Невозможно найти элемент:» каждый раз. См. Скриншот вкладки проверки - выделенная часть - это нужный мне элемент

Мой код:

from selenium import webdriver
import numpy as np
import pandas as pd

searchTerms = r'something'
url = r'https://www.lexisnexis.com/uk/legal/news' # this is the page after login - not including the code for login here.

browser = webdriver.Chrome(executable_path = path_to_chromedriver)
browser.get(url)

Я попробовал все:

browser.find_element_by_id('search-query')
browser.find_element_by_xpath('//*[@id="search-query"]')
browser.find_element_by_xpath('/html/body/div/header/div/form/div[2]/input')

et c .. Ничего не работает. Какие-либо предложения?

1 Ответ

0 голосов
/ 09 апреля 2020

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

wait = WebDriverWait(driver, 10)
inputBox = wait.until(EC.element_to_be_clickable((By.XPATH, "//*[@id='search-query']")))

Примечание : добавьте ниже импорта в ваше решение

 from selenium.webdriver.support import expected_conditions as EC
 from selenium.webdriver.common.by import By
 from selenium.webdriver.support.ui import WebDriverWait
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...