Найдите xpath в элементе html, используя только часть href, katalon recorder, kantu, selenium ide, ui vision

Мне нужно обнаружить через xpath элемент (изображение с href), но я знаю только часть href

это html

<a href="/play.php?video=123456">
<div class="video-splash" data-src="https://myimge-555888.jpg?md5=dfgdfsdgsowVf0QnDcAg&amp;expires=16018841600&amp;origin=103&amp;mid=0df2fd8d-85b1-47da-a371-489a7328ffb4">
<div class="video-time"><i class="fas fa-play"></i> <b>HD</b> 43:25</div>
</div>
</a>

Я знаю видео 123456 (часть href)

номер видео периодически меняется

data-src периодически меняются

Я пробовал эти xpaths, но в этом случае они не работают

xpath=//a[contains(@href, "123456")]

xpath=//a[ends-with(@href, '123456')]/img

xpath=//a[contains(@href, '123456')]/img

Как я могу обнаружить элемент, используя только часть href?

Мне нужен только xpath, который может обнаружить элемент, пожалуйста.

Нужен общий xpath, потому что некоторые атрибуты являются динамическими video=??? и data-src=??? и <b>???</b> ??? </div>

??? динамические значения, которые постоянно меняются, мне нужно определить это по номеру видео.

Я добавляю больше html-кода

<div>

<h2 class="page-h2">
Performer <b>username</b> — Recent Recordings
</h2>
<div class="video-thumb">
<a href="/play.php?video=550420">
<div class="video-splash" data-src="https://v02.frontgross.com/username/2020-04-25,29-59.jpg?md5=BV75Ney9jydwiZgdITkjSg&expires=2705442700&origin=205&mid=5e5c77ca-f750-49ed-9527-725754b972f2">
<div class="video-time"><i class="fas fa-play"></i> <b>HD</b> 59:25</div>
</div>
</a>
<div class="video-info">
<div>
<a href="/?performer=username"><b>username</b></a>
</div>
<div class="video-info-sub"><span class="video-views">22.5K views</span> • 2020-04-25 29:59</div>
</div>
</div>
<div class="video-thumb">
<a href="/play.php?video=529055">
<div class="video-splash" data-src="https://v02.frontgross.com/username/2020-04-25,02-00.jpg?md5=d2GDbtiHuKT-by9A9qcMIA&expires=2705442700&origin=205&mid=5e5c77ca-f750-49ed-9527-725754b972f2">
<div class="video-time"><i class="fas fa-play"></i> <b>HD</b> 45:25</div>
</div>
</a>
<div class="video-info">
<div>
<a href="/?performer=username"><b>username</b></a>
</div>
<div class="video-info-sub"><span class="video-views">20.0K views</span> • 2020-04-25 02:00</div>
</div>
</div>
<div class="video-thumb">
<a href="/play.php?video=529725">
<div class="video-splash" data-src="https://v02.frontgross.com/username/2020-04-24,29-55.jpg?md5=RrwtygDUT_zxTPf4mC2KAw&expires=2705442700&origin=205&mid=5e5c77ca-f750-49ed-9527-725754b972f2">
<div class="video-time"><i class="fas fa-play"></i> <b>HD</b> 2:02:29</div>
</div>
</a>
<div class="video-info">
<div>
<a href="/?performer=username"><b>username</b></a>
</div>
<div class="video-info-sub"><span class="video-views">20.9K views</span> • 2020-04-24 29:55</div>
</div>
</div>
<div class="video-thumb">
<a href="/play.php?video=527092">
<div class="video-splash" data-src="https://v02.frontgross.com/username/2020-04-25,22-00.jpg?md5=unQIgoVWLXy5cBH4sPVWUw&expires=2705442700&origin=205&mid=5e5c77ca-f750-49ed-9527-725754b972f2">
<div class="video-time"><i class="fas fa-play"></i> <b>HD</b> 20:52</div>
</div>
</a>

person cicoria    schedule 03.11.2020    source источник
comment
//a[contains(@href, /play.php?video=)] так что начальная часть осталась? Есть ли другие теги, которые похожи.   -  person Arundeep Chohan    schedule 03.11.2020
comment
Пробовал и не работает   -  person cicoria    schedule 04.11.2020
comment
@arundeepchohan Я добавляю больше html-кода, ваше решение не работает. Спасибо   -  person cicoria    schedule 04.11.2020
comment
Нет смысла! Вы не сможете скачать :P   -  person baburao    schedule 05.03.2021


Ответы (2)


Попробуйте что-нибудь вроде этого. Имейте в виду, что вам, возможно, потребуется перейти по вашей ссылке, потому что я не могу видеть больше вашего HTML, поэтому я не знаю, уникален ли он.

//*a[starts-with(@herf, 'sometext') and ends-with(@herf, '123456')]
person Gaj Julije    schedule 03.11.2020
comment
Есть ошибка, herf должен быть href. я попробовал это правильно, но не работает - person cicoria; 04.11.2020
comment
Я добавляю больше html-кода, ваше решение не работает. Спасибо за предложение - person cicoria; 04.11.2020
comment
Я вижу, что у вас есть несколько видео, знаете ли вы что-нибудь конкретное, связанное с видеоэлементом, который вы хотите использовать. например продолжительность или, может быть, часть ссылки (которая, как я полагаю, является динамической). .. Еще одна вещь, я предполагаю, что ваш HTML не имеет подходящих форматов, он не упорядочен по узлам. - person Gaj Julije; 04.11.2020
comment
Я знаю, что видео = XXXXXX, я хочу обнаружить элемент по номеру видео, но не могу найти xpath для обнаружения видео по номеру видео. Есть большое количество видео, и у меня есть список видео для открытия (video=XXXXXX). - person cicoria; 04.11.2020
comment
Если вы знаете номер для видео, то зачем использовать: ( //a[@href='/play.php?video= + videoString+']) где videoString - переменная String - person Gaj Julije; 04.11.2020
comment
Ни одно из этих решений не обнаруживает видео, кажется, что видео не может быть обнаружено с помощью href, я перепробовал все решения. - person cicoria; 05.11.2020

Это решение

xpath=//div/a[@href='/play.php?video=123456']

Нужно запустить xpath с //div/a

Другие решения не работают.

person cicoria    schedule 04.11.2020