包含插入文本的Xpath输入字段

时间:2015-10-07 12:20:05

标签: php html selenium xpath web

我有以下问题:

如果输入字段填充了预期的手动插入文本,我必须通过Selenium进行检查。

这里输入的字段值为' 50':

<div id="cssmenu">
<ul>
    <li><a href='index.html'>Home</a></li>
    <li class='active'><a href='research.html'>Research</a>
        <ul>
            <li><a href='research.html#r1'><span>interests</span></a></li>                      
            <li><a href='research.html#r2'><span>preprints</span></a></li>
            <li><a href='research.html#r3'><span>publications</span></a></li>
            <li><a href='research.html#r4'><span>coauthors</span></a></li>
        </ul>
    </li>
</ul>

我不会寻找$(document).ready(function(){ $('#cssmenu > ul > li ul').each(function(index, e){ var count = $(e).find('li').length; var content = '<span class="cnt">' + '</span>'; $(e).closest('li').children('a').append(content); }); $('#cssmenu > ul > li > a').click(function() { $('#cssmenu li').removeClass('active'); $(this).closest('li').addClass('active'); var checkElement = $(this).next(); if((checkElement.is('ul')) && (!checkElement.is(':visible'))) { $('#cssmenu ul ul:visible').slideUp('normal'); checkElement.slideDown('normal'); } if($(this).closest('li').find('ul').children().length == 0) { return true; } else { return false; } }); ,而是我可以在表单中编辑的值。 为了澄清,输入<input type="text" class="value_per form-control input-sm valid" name="per_slider1" idslider="1" value="50"> 将永远是&#39; 50&#39;即使我将输入文字编辑为&#39; 100&#39;我不知道如何获得&#39; 100&#39;通过Xpath。

我已经尝试过:

@value

@value
但是他们没有工作。

如果您有快速的解决方案,所有评论都表示赞赏。

我使用//input[@name='per_slider']/text() 通过//input[@name='per_slider']/@value 测试网站(此信息应该没用)。

2 个答案:

答案 0 :(得分:0)

尝试

element.getAttribute("value") 

它应该工作! 通常只有浏览器工具中显示的“值”属性不会更新,但实际上它会更新,你可以拉它; - )

*假设您输入新值并按Enter或Tab键转到另一个元素或某事。

答案 1 :(得分:0)

如果你想要那个只有100的值,那么就用下面的东西: -

//input[@name='per_slider1' and @value='100']

您正在尝试的xpath

//input[@name='per_slider']/@value

你应该使用。你在per_slider之后错过了一次

//input[@name='per_slider1']/@value

希望它会对你有所帮助:)。