Как мы получаем доступ к ссылке тега привязки, встроенной в теги ul и li, чтобы открыть ссылку, связанную с этим тегом, используя selenium с python

#python #html #selenium #webdriver

#python #HTML #selenium #webdriver

Вопрос:

Мне нужно открыть ссылку этого тега привязки с id = ViewInvoice. Как мне это сделать? Прикрепляем привязку HTML-страницы. Снимок:

ссылка, к которой я хочу получить доступ

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

вкладка, которую я хочу открыть

Вот код:

из selenium импортировать webdriver

драйвер = webdriver.Chrome(executable_path=’C:/webdrivers/chromedriver.exe ‘) # Получить локальный сеанс (используйте webdriver.Chrome() для chrome) driver.get(«URL») # загрузить страницу с некоторого URL

driver.find_element_by_xpath(«//ввод[@id=’PNRId’]»).send_keys(«MDGLRY») driver.find_element_by_xpath(«//ввод[@id=’GstRetrievePageInteraction’]»).click()

link = driver.find_elements_by_id(«ViewInvoice»)[0] link.click()

Ответ №1:

вы можете получить элемент по идентификатору, а затем использовать .click()

 link = driver.find_element_by_id("ViewInvoice")
link.click()
  

или

 link = driver.find_elements_by_id("ViewInvoice")[0]
link.click()
  

Комментарии:

1. Привет, это не работает. Это выдает ошибку «JavascriptException: ошибка javascript: не удается прочитать свойство ‘style’ null».

2. «NtOpenThread: {Доступ запрещен} Процесс запросил доступ к объекту, но не получил эти права доступа. (0xc0000022) идентификатор потока 43952 не найден в процессе «. Это ошибка, которую я получаю в журналах ошибок отладки. Я пробовал driver.find_element_by_css_selector(«gst-view-print-btn ViewInvoice clsDtmPageInteraction»), но это тоже не работает.

3. Привет, попробовал и второе решение, но просмотр счета-фактуры не открывается.

4. @AAYUSH LAKHANI можете ли вы, пожалуйста, помочь мне найти решение?

5. Это выдает следующую ошибку Исключение NoSuchElementException: нет такого элемента: Не удается найти элемент: {«метод»: «селектор css», «селектор»:»[id=»ViewInvoice»]»} .