Введите эти свойства span
span{
display:inline-block;
vertical-align:middle;
}
Используйте display:inline-block;
Когда вы используете свойство vertical-align
. Это ассоциированные свойства
Это напрямую не поддерживается ни в каких драйверах Capybara, о которых я знаю, однако вы можете подделать указатель мыши с помощью некоторого JS, как показано в Визуализация / показать положение курсора мыши в тестах на селен 2 (например, PHPUnit Webdriver) [ 113]
По сути, это сводится к созданию изображения, а затем перемещению его местоположения каждый раз, когда происходит событие mousemove
// Create mouse following image.
var seleniumFollowerImg = document.createElement("img");
// Set image properties.
seleniumFollowerImg.setAttribute('src', 'data:image/png;base64,'
+ 'iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAQAAACGG/bgAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAA'
+ 'HsYAAB7GAZEt8iwAAAAHdElNRQfgAwgMIwdxU/i7AAABZklEQVQ4y43TsU4UURSH8W+XmYwkS2I0'
+ '9CRKpKGhsvIJjG9giQmliHFZlkUIGnEF7KTiCagpsYHWhoTQaiUUxLixYZb5KAAZZhbunu7O/PKf'
+ 'e+fcA+/pqwb4DuximEqXhT4iI8dMpBWEsWsuGYdpZFttiLSSgTvhZ1W/SvfO1CvYdV1kPghV68a3'
+ '0zzUWZH5pBqEui7dnqlFmLoq0gxC1XfGZdoLal2kea8ahLoqKXNAJQBT2yJzwUTVt0bS6ANqy1ga'
+ 'VCEq/oVTtjji4hQVhhnlYBH4WIJV9vlkXLm+10R8oJb79Jl1j9UdazJRGpkrmNkSF9SOz2T71s7M'
+ 'SIfD2lmmfjGSRz3hK8l4w1P+bah/HJLN0sys2JSMZQB+jKo6KSc8vLlLn5ikzF4268Wg2+pPOWW6'
+ 'ONcpr3PrXy9VfS473M/D7H+TLmrqsXtOGctvxvMv2oVNP+Av0uHbzbxyJaywyUjx8TlnPY2YxqkD'
+ 'dAAAAABJRU5ErkJggg==');
seleniumFollowerImg.setAttribute('id', 'selenium_mouse_follower');
seleniumFollowerImg.setAttribute('style', 'position: absolute; z-index: 99999999999; pointer-events: none;');
// Add mouse follower to the web page.
document.body.appendChild(seleniumFollowerImg);
document.addEventListener('mousemove', function(e) {
const mousePointer = document.getElementById('selenium_mouse_follower');
mousePointer.style.left = e.pageX + 'px';
mousePointer.style.top = e.pageY + 'px';
});
Затем вам необходимо убедиться, что JS выполняется после каждое изменение страницы (посещение, щелчок, который перемещается и т. д.). Есть много способов сделать это, при этом самым простым является либо условно добавить код в приложение в тестовом режиме, либо вызвать его вручную с помощью вспомогательного метода, вызывающего page.execute_js
всякий раз, когда вы хотите, чтобы положение мыши отображалось для следующих действий. [ 116]