无法单击DOJO Html中使用selenium设计的下拉字段

dojqjjoe  于 2022-12-16  发布在  Dojo
关注(0)|答案(2)|浏览(164)

我不能点击一个箭头下拉文件在我的应用程序使用 selenium 网络驱动程序。
我尝试了很多使用类名和相对XPath的XPath
这是用于解决问题的代码

<span class="dijitReset dijitInline dijitIcon pentaho_dijitEditorIconExport"
             data-dojo-attach-point="iconNode"></span>
j0pj023g

j0pj023g1#

请添加一些更多的信息从您的HTML我只是添加一些文本和xpath是这样的

<span class="dijitReset dijitInline dijitIcon pentaho_dijitEditorIconExport"
             data-dojo-attach-point="iconNode">test</span>

X路径为:

//span[@class='dijitReset dijitInline dijitIcon pentaho_dijitEditorIconExport']

//span[@data-dojo-attach-point='iconNode']

//span[@data-dojo-attach-point='iconNode' and @class='dijitReset dijitInline dijitIcon pentaho_dijitEditorIconExport']

如果你有任何顾虑,请添加更多信息

zf9nrax1

zf9nrax12#

dojo组合基本上是<input type= "text">,一旦你点击它或键入你想选择的选项的第一个字母,一个<div>就附加到html主体,其结构如下:

<div resultname="option name" resultvalue="option value" class="dojoComboBoxItem dojoComboBoxItemEven ">Option Value</div>

现在有3个步骤来选择从dojo
1.识别输入文本
1.键入要选择的选项的前几个字母
1.创建动态xpath以选择选项
代码如下所示

String optionName = "Option You Want to Select";
WebElement dojoBox = driver.findElement(By.xpath("<provide the xpath here>"));
dojoBox.sendKeys(optionName.substring(0,2));
driver.findElement(By.xpath("//*[@id='page-home']/span/div[@resultvalue='" + optionName + "']")).click();

如果不确定动态xpath的结构,则手工选择该选项,并检查添加的div,一般应该是类似的结构。

相关问题