Safari (12.1) Сбой веб-драйвера при Selenium click () и actions.clickAndHold ([некоторый веб-элемент]). Execute () - PullRequest
0 голосов
/ 22 июня 2019

Когда я запускаю свои сценарии селена, при запуске веб-браузера Safari у меня возникают серьезные сбои, если я нажимаю на определенные ссылки.

Для большинства действий, выполняемых щелчком, веб-драйвер Safariэто хорошо, но если я предварительно преобразую webElement.click() или webElement.actions.clickAndHold([some web element]).perform(), драйвер будет аварийно завершать работу.

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

Кроме того, это происходит только в Safari.С Chrome, Firefox и т. Д. Все в порядке.

Кто-нибудь сталкивался с чем-то подобным, и если да, то есть ли обходные пути (например, какой-то другой способ щелкнуть веб-элемент)?

Это началось с недавно выпущенного браузера Safari 12.1.1 (раньше он работал нормально)

Я думаю Это раздел Javascript на веб-странице, который вызывает сбой:

        $.each(t, function(n, t) {
            var i = $(t)
              , r = p(i);
            r && r.not("[tabindex],input,textarea").attr("tabindex", -1);
            r && (i.data("anchor") ? console.warn("%c attr [data-anchor] is deprecated; use [href] or [data-jump-target] instead", "background: #222; color: #7fda55; font-size: 14px; padding: 4px", i[0]) : i.is(".jumpLink, .anchor-link, .superscript-link") && console.warn('%c classes .jumpLink, .anchor-link, .superscript-link for anchors are deprecated; use <a href="#value"> or <div data-jump-target="value"> instead', "background: #222; color: #7fda55; font-size: 12px; padding: 2px", i[0]))
        });

И это ошибка, которую выдает Safari:

Process:               Safari [24240]
Path:                  /Applications/Safari.app/Contents/MacOS/Safari
Identifier:            com.apple.Safari
Version:               12.1.1 (14607.2.6.1.1)
Build Info:            WebBrowser-7607002006001001~3
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           Safari [24240]
User ID:               502

Date/Time:             2019-06-21 15:16:23.521 -0600
OS Version:            Mac OS X 10.14.5 (18F203)
Report Version:        12
Bridge OS Version:     3.5 (16P5200)
Anonymous UUID:        56C84AF4-983B-688C-12EB-52065287562D

Sleep/Wake UUID:       6B696843-31A9-4795-B29B-E3D128CE40A4

Time Awake Since Boot: 57000 seconds
Time Since Wake:       720 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes:       0x0000000000000001, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Illegal instruction: 4
Termination Reason:    Namespace SIGNAL, Code 0x4
Terminating Process:   exc handler [24240]

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebKit                0x00007fff49065320 WTF::Function<void (WTF::Optional<WebCore::IntPoint>, WTF::Optional<WebKit::AutomationCommandError>)>::CallableWrapper<WebKit::SimulatedInputDispatcher::resolveLocation(WebCore::IntPoint const&, WTF::Optional<WebCore::IntPoint>, Inspector::Protocol::Automation::MouseMoveOrigin, WTF::Optional<WTF::String>, WTF::Function<void (WTF::Optional<WebCore::IntPoint>, WTF::Optional<WebKit::AutomationCommandError>)>&&)::$_2>::call(WTF::Optional<WebCore::IntPoint>, WTF::Optional<WebKit::AutomationCommandError>) + 346
1   com.apple.WebKit                0x00007fff49053bd6 WTF::Function<void (WTF::Optional<WebCore::IntPoint>, WTF::Optional<WebKit::AutomationCommandError>)>::operator()(WTF::Optional<WebCore::IntPoint>, WTF::Optional<WebKit::AutomationCommandError>) const + 72
2   com.apple.WebKit                0x00007fff4905a707 WebKit::WebAutomationSession::didComputeElementLayout(unsigned long long, WebCore::IntRect, WTF::Optional<WebCore::IntPoint>, bool, WTF::String const&) + 1283
3   com.apple.WebKit                0x00007fff49161b12 void IPC::callMemberFunctionImpl<WebKit::WebAutomationSession, void (WebKit::WebAutomationSession::*)(unsigned long long, WebCore::IntRect, WTF::Optional<WebCore::IntPoint>, bool, WTF::String const&), std::__1::tuple<unsigned long long, WebCore::IntRect, WTF::Optional<WebCore::IntPoint>, bool, WTF::String>, 0ul, 1ul, 2ul, 3ul, 4ul>(WebKit::WebAutomationSession*, void (WebKit::WebAutomationSession::*)(unsigned long long, WebCore::IntRect, WTF::Optional<WebCore::IntPoint>, bool, WTF::String const&), std::__1::tuple<unsigned long long, WebCore::IntRect, WTF::Optional<WebCore::IntPoint>, bool, WTF::String>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) + 91
4   com.apple.WebKit                0x00007fff491615f0 void IPC::handleMessage<Messages::WebAutomationSession::DidComputeElementLayout, WebKit::WebAutomationSession, void (WebKit::WebAutomationSession::*)(unsigned long long, WebCore::IntRect, WTF::Optional<WebCore::IntPoint>, bool, WTF::String const&)>(IPC::Decoder&, WebKit::WebAutomationSession*, void (WebKit::WebAutomationSession::*)(unsigned long long, WebCore::IntRect, WTF::Optional<WebCore::IntPoint>, bool, WTF::String const&)) + 99
5   com.apple.WebKit                0x00007fff48e0e9b6 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) + 64

(есть еще сообщение об ошибке, это только верхняя половина).

1 Ответ

0 голосов
/ 17 июля 2019

Я вижу тот же сбой при использовании класса Action для выполнения нажатия Shift. Я разбил цепное действие на отдельные части, и для меня оно вылетает в Action.KeyDown (elem, Keys.Shift) .Perform ()

Я возился с этим время от времени два дня без реального прогресса.

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