Селен вебдрайвер занимает очень много времени, когда не найти элемент в Firefox - PullRequest
0 голосов
/ 01 апреля 2019

Я использую селеновый веб-драйвер, чтобы найти элемент в firefox / win10.
Веб-страница следующая.

https://24h.pchome.com.tw/

В исходном html-документе есть тег iframe, к элементу которого можно получить доступ с помощью следующих двух xpath.

"//iframe[@src='https://www.googletagmanager.com/ns.html?id=GTM-TKSM5PF']"

'//html/body/noscript[1]/iframe[1]'

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

e = WebDriverWait(driver, 1).until(EC.visibility_of_element_located((By.XPATH, xPath)))         

Ситуация такова, что когда тег может быть найден, веб-драйвер быстро вернет элемент. Но для вышеупомянутого элемента веб-драйвер не смог найти его, и для его возврата требуется 5 минут.
Как видите, время ожидания для местоположения установлено на 1 секунду. Но на самом деле это занимает около 5 минут.

Я буду очень признателен, если кто-нибудь подскажет мне, как сделать так, чтобы webdriver быстро возвращался при неудачном поиске элемента.

Спасибо!

Farn

1 Ответ

0 голосов
/ 02 апреля 2019

Извините за глупый вопрос.Как предположил Гай, это связано с тем, что оператор webdriverwait.until вмешивался в оператор implicitly_wait (), объявленный где-то еще.После изменения оператора implicitly_wait проблема исчезла.

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