Как получить номер только с помощью команды в последней версии Selenium IDE Chrome Extension - PullRequest
0 голосов
/ 12 декабря 2018

Запустив команду ниже Selenium IDE .Мне удалось получить это предложение: " Ваш номер бронирования 1234 ".Я сохранил предложение в переменной с именем myText

<table>
  <tr>
    <th>Command</th>
    <th>Target</th> 
    <th>Value</th>
  </tr>
  <tr>
    <td>store text</td>
    <td>xpath=//div[@id='booking']/div/div[3]</td>
    <td>myText</td>
  </tr>
</table>

Как получить только число и сохранить его в переменной для последующего использования?Нужно ли мне использовать JavaScript или просто манипулировать xpath?

Примечание: число является динамическим

Спасибо!

Ответы [ 3 ]

0 голосов
/ 12 декабря 2018

Можете ли вы использовать Xpath 2.0?

translate(//div[@id='booking']/div/div[3], replace(//div[@id='booking']/div/div[3], '\d', ''), '')
0 голосов
/ 12 декабря 2018

Если текст Your booking ID is всегда совпадает с тем, который вы можете использовать, например:

substring-after(//div[@id='booking']/div/div[3], 'Your booking ID is ')

, введите:

<html>
    <div id="booking">
        <div>
            <div>bla bla bla</div>
            <div>bla bla bla</div>
            <div>Your booking ID is 1234</div>
            <div>bla bla bla</div>
        </div>
    </div>
</html>

XPath с использованием XSLT

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">

<xsl:output method="text" omit-xml-declaration="yes" encoding="UTF-8" indent="yes" />
    <xsl:template match="/">
        <xsl:value-of select="substring-after(//div[@id='booking']/div/div[3], 'Your booking ID is ')"/>
    </xsl:template>

</xsl:transform>

Результат:

1234

см. Ссылку ниже: http://xsltransform.net/gVAjbSz

0 голосов
/ 12 декабря 2018

Использовать подстроку после

substring-before(substring-after('//div[@id='booking']/div/div[3]','Your booking ID is '),'/')
...