#python #selenium
#питон #селен
Вопрос:
Я перепробовал все, что смог найти по этому вопросу, но я не могу заставить селен отклонить это предупреждение. Я не думаю, что это больше не предупреждение, так как я получаю исключение NoAlertPresentException при попытке
driver.switch_to.alert.dismiss()
Есть какие-нибудь идеи?
Вот соответствующие части HTML-страницы:
<iframe id="teamsLauncher" src="msteams:/l/team/19:95f3ef22a37040fca83b679b64f96da1@thread.tacv2/conversations?groupId=09988212-e3a1-4187-b067-a805e512e0a4amp;amp;tenantId=d348f9ab-4879-4a60-ab50-5c420b11470camp;amp;deeplinkId=2deee564-c6b3-4d5d-b097-93900dd14620amp;amp;launchAgent=join_launcheramp;amp;type=teamamp;amp;directDl=trueamp;amp;msLaunch=trueamp;amp;enableMobilePage=trueamp;amp;fqdn=teams.microsoft.com" style="display: none;"></iframe>
<script>var modernBrowser="fetch"in windowamp;amp;"assign"in Objectamp;amp;"Set"in window,bundles=[],polyfills="";function injectScript(n,e,s){var t=document.createElement("script");t.src=n,t.async=e,t.onload=s,document.body.appendChild(t)}function loadBundles(n){for(key in bundles)injectScript(bundles[key],n)}function loadPolyfills(){polyfillsamp;amp;injectScript(polyfills,!1,function(){loadBundles(!1)})}bundles.push("https://statics.teams.microsoft.com/hashedjs-launcher/launcher.5c24f1e70f34f56835c7.js"),polyfills="https://statics.teams.microsoft.com/hashedjs-launcher/polyfills.1e46ca6473519cf1be5d.js",modernBrowser?loadBundles(!0):loadPolyfills(),window.addEventListener("load",function(){injectScript("https://az725175.vo.msecnd.net/scripts/jsll-4.js",!0,function(){var n={coreData:{appId:"JS:teams.microsoft.com",market:window.navigator.language||"en-US"}};awaamp;amp;awa.initamp;amp;awa.init(n)})})</script>
Также пробовал цепочки действий, но отправка escape-ключа ничего не дает.
Комментарии:
1. Это похоже на системный диалог Windows, а не на что-то, сгенерированное Chrome, но я не могу его прочитать, так что трудно сказать.
2. Возможно, это просто всплывающее окно пользовательского интерфейса jQuery, а не предупреждение, но я согласен, что перевод текста на английский поможет.
3. Просто скопируйте предоставленный HTML-код, и вы получите перевод. Это запрос на открытие приложения team. Это JS-скрипт, который открывает всплывающее окно Chrome
4. Переводы: запустить Microsoft Teams? teams.microsoft.com хочет запустить это приложение. Поле: всегда разрешать teams.microsoft.com чтобы запустить похожие ссылки в приложении, запустите приложение Microsoft Teams — Отмена
Ответ №1:
Трудно сказать, не запустив код, но, может быть, попробуйте отключить всплывающие окна Chrome с помощью параметров Chrome?
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--disable-notifications")
driver = webdriver.Chrome(options=chrome_options)
Надеюсь, это сработает.
Комментарии:
1. Я попробовал это, но это не сработало, всплывающее окно появилось так, как будто ничего не изменилось. В любом случае спасибо.
Ответ №2:
Рассмотрите возможность использования библиотеки pyAutoGUI, она позволяет python управлять вашей мышью и клавиатурой. Если вы каждый раз сохраняете окно в одном и том же месте, статическая координата x y для функции щелчка мыши может использоваться для принятия всплывающего окна и разрешения обработки
Комментарии:
1. ну, на самом деле я не собираюсь сидеть перед компьютером, но максимизация, а затем наведение x и y может сделать свое дело … тем не менее, я хотел бы, чтобы был закодированный способ, а не автоматический.