我不能点击一个箭头下拉文件在我的应用程序使用 selenium 网络驱动程序。我尝试了很多使用类名和相对XPath的XPath这是用于解决问题的代码
<span class="dijitReset dijitInline dijitIcon pentaho_dijitEditorIconExport" data-dojo-attach-point="iconNode"></span>
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']
如果你有任何顾虑,请添加更多信息
zf9nrax12#
dojo组合基本上是<input type= "text">,一旦你点击它或键入你想选择的选项的第一个字母,一个<div>就附加到html主体,其结构如下:
<input type= "text">
<div>
<div resultname="option name" resultvalue="option value" class="dojoComboBoxItem dojoComboBoxItemEven ">Option Value</div>
现在有3个步骤来选择从dojo1.识别输入文本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,一般应该是类似的结构。
2条答案
按热度按时间j0pj023g1#
请添加一些更多的信息从您的HTML我只是添加一些文本和xpath是这样的
X路径为:
或
或
如果你有任何顾虑,请添加更多信息
zf9nrax12#
dojo组合基本上是
<input type= "text">
,一旦你点击它或键入你想选择的选项的第一个字母,一个<div>
就附加到html主体,其结构如下:现在有3个步骤来选择从dojo
1.识别输入文本
1.键入要选择的选项的前几个字母
1.创建动态xpath以选择选项
代码如下所示
如果不确定动态xpath的结构,则手工选择该选项,并检查添加的div,一般应该是类似的结构。