Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Selenium IDE查找动态ID_Selenium_Xpath_Selenium Ide - Fatal编程技术网

使用Selenium IDE查找动态ID

使用Selenium IDE查找动态ID,selenium,xpath,selenium-ide,Selenium,Xpath,Selenium Ide,我已经能够通过使用以下命令、目标和值来定位元素 Command: Select Target: //div[@id='ui-id-51']/div[2]/div/fieldset/div/div/select Value: Documentation 这个xpath可以工作,但是,id号是动态的,每次我打开这个窗口一次,id号都会改变。所以下次我打开这个窗口时,数字(本例中为51)可能是201,但ui id-将始终相同。所以下次我打开窗口时找不到这个目标。我已经尝试使用下面的xp

我已经能够通过使用以下命令、目标和值来定位元素

Command:  Select
Target:   //div[@id='ui-id-51']/div[2]/div/fieldset/div/div/select
Value:    Documentation 
这个xpath可以工作,但是,id号是动态的,每次我打开这个窗口一次,id号都会改变。所以下次我打开这个窗口时,数字(本例中为51)可能是201,但ui id-将始终相同。所以下次我打开窗口时找不到这个目标。我已经尝试使用下面的xpath来解决这个问题,但它不起作用

Command:   Select
Target:    //div[starts-with(@id,'ui-id-')]/div[2]/div/fieldset/div/div/select
Value:     Documentation
有人能给我正确的xpath来找到这个具有动态id的目标吗

以下是HTML:

<div id="ui-id-22" class="ui-dialog-content ui-widget-content" style="display: block; width: auto; min-height: 0px; max-height: none; height: 552px;">

    <div></div>
    <div class="patient-module-contact-edit">
        <!--

         start of template: "#contact_log_logEntry_edit" 

        -->
        <div class="new-encounter">
            <fieldset class="wide-mode liquid" style="border: none; padding-top: 0px;">
                <div class="row span5">
                    <div class="span5">
                        <label></label>
                        <select class="encounterType vf vf-required span4 vf-validated" name="encounterType" style="visibility: visible; background-color: rgb(238, 238, 238);">
                            <option value=""></option>
                            <option value="INBOUND_TELEPHONE"></option>
                            <option value="OUTBOUND_TELEPHONE"></option>
                            <option value="OUTBOUND_TELEPHONE_VM"></option>
                            <option value="OUTBOUND_TELEPHONE_NO"></option>
                            <option value="INBOUND_EMAIL"></option>
                            <option value="OUTBOUND_EMAIL"></option>
                            <option value="INBOUND_FAX"></option>
                            <option value="OUTBOUND_FAX"></option>
                            <option value="INBOUND_TEXT"></option>
                            <option value="OUTBOUND_TEXT"></option>
                            <option selected="" value="ENCOUNTER"></option>
                            <option value="DOCUMENTATION"></option>

开始-使用()
的解决方案看起来不错,应该根据您提供的解决方案工作

您还可以使用以下方法尝试更广泛的检查:


这两种方法我都试过了。我的测试没有失败,但它不会将目标的值更改为文档,甚至在运行测试时也不会突出显示元素。当我在xpath中有特定的id号时,它只会突出显示和更改目标文档。这就是问题所在,因为当id更改时,这将不起作用。我还可以尝试其他想法吗?@ltp61992请添加包含目标元素的相关HTML代码(编辑问题并将其插入其中)。谢谢。@LTP6192好的,让我们试着通过
name
//选择[@name=“encounterType”]
来获取
select。它能工作吗?同样,测试用例通过了,但元素没有突出显示,也没有更改为文档。@LTP6192这很奇怪,您正在测试的是公共URL吗?如果是,您能否提供它以及导出的测试用例?
//div[contains(@id,'ui-id-')]/div[2]/div/fieldset/div/div/select