Остановить команду .click (), запущенную после открытия всплывающего окна системного принтера. - PullRequest
0 голосов
/ 19 марта 2020

Работая с веб-утилизацией примерно 2 часа, я использую python селеновый веб-драйвер для извлечения таблицы в виде простого текста.

На веб-странице, над которой я работаю, отображается динамическая таблица c с первые 10 записей. Рядом с таблицей есть кнопка печати, которая после нажатия открывает новое окно со всеми записями таблицы в виде обычного текста (это то, что я пытаюсь получить).

Проблема в том, что существует также ма c всплывающее окно печати, которое также открывается, ожидая нажатия кнопки отмены, прежде чем я действительно смогу взаимодействовать с окном таблицы в виде простого текста.

При выполнении приведенных ниже команд последняя команда print_button.click() продолжает выполняться в моем до тех пор, пока я не нажму кнопку отмены во всплывающем окне принтера.

Я видел несколько возможных решений программно нажать кнопку отмены печати (например, с помощью команд ActionChains), но сначала мне нужно будет остановить мой print_button.click() работает.

Как можно заставить команду print_button.click() остановиться, когда откроется окно принтера? Или, может быть, firefox не позволяет открыть любую системную печать windows?

Псевдокод:

import pandas as pd
from selenium import webdriver

driver = webdriver.Firefox()
driver.implicitly_wait(10)

driver.get('my_URL')

print_button = driver.find_element_by_xpath("/html/body/div/my_element/span")

# this is the command that keeps running until I click the cancel print button
print_button.click()
...