【问题标题】:Store image title in selenium IDE在 selenium IDE 中存储图像标题
【发布时间】:2015-03-25 22:50:08
【问题描述】:

我想存储当我将鼠标放在图像上时出现在图像中的文本。该图像在此页面上的表格中https://www.magiccardmarket.eu/Products/Singles/Dragons+of+Tarkir,第一张图像具有以下xpath //div[@id='siteContents']/div[2]/div[2]/div/form/table.1.3。该表元素的 html 代码包含以下内容:

<span onmouseover="showMsgBox('Dragons of Tarkir')"></span>

我想存储 showMsgBox 的内容。看来我需要了解一些 Javascript 才能驱动 Selenium IDE。到目前为止我发现的是question about how to extract text with xPath,这里是how the Javascript function slice works。那我觉得应该是这样的:

storeText  |  //div[@id='siteContents']/div[3]/div[2]/table/tbody/tr[1]/td[2]/a/span/@onmouseover  |  exp
storeEval  |  exp = exp.slice(12, -2);  |  expansion

但它会抛出一个并不能说明太多的错误。

【问题讨论】:

    标签: javascript xpath selenium-ide


    【解决方案1】:

    我捕获了属性,然后使用子字符串将其解析出值。

    <tr>
    <td>storeAttribute</td>
    <td>//html/body/section/div[1]/div/div[3]/div[2]/table/tbody/tr[1]/td[4]/img@onmouseover</td>
    <td>fullval</td>
    </tr>
    <tr>
    <td>echo</td>
    <td>${fullval}</td>
    <td></td>
    </tr>
    <tr>
    <td>storeEval</td>
    <td>str=&quot;${fullval}&quot;; str.substring(12, str.length-2)</td>
    <td>final</td>
    </tr>
    <tr>
    <td>echo</td>
    <td>${final}</td>
    <td></td>
    </tr>
    

    请注意,我使用字符串的长度 - 2 作为“停止”点。

    或者,由于这些图像有一个包含值的 ALT 标记,请使用它:

    <tr>
        <td>storeAttribute</td>
        <td>//html/body/section/div[1]/div/div[3]/div[2]/table/tbody/tr[1]/td[4]/img@alt</td>
        <td>fullval</td>
    </tr>
    <tr>
        <td>echo</td>
        <td>${fullval}</td>
        <td></td>
    </tr>
    

    【讨论】:

    • 我刚刚注意到一个更简单的方法,只需抓住“alt”属性。我将为两者编辑我的答案。
    猜你喜欢
    • 1970-01-01
    • 2021-05-20
    • 2018-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多