Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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_Selenium - Fatal编程技术网

如何在单击跨度元素时停止Selenium

如何在单击跨度元素时停止Selenium,selenium,Selenium,以下是元素 <a href="#" class="finalLevel showMenuElement" data-index="8,2,5" title="Workitem Summary" data-wintitle="Workitem Summary">Workitem Summary<span id="fav" class="addtoFav"></span></a> 标记之间的文本是“工作项摘要”,因此 driver.findElem

以下是元素

<a href="#" class="finalLevel showMenuElement" data-index="8,2,5" title="Workitem Summary"  data-wintitle="Workitem Summary">Workitem Summary<span id="fav" class="addtoFav"></span></a>
标记之间的文本是“工作项摘要”,因此

driver.findElement(By.linkText("Workitem Summary")).click(); 
将单击该超链接

跨度无论如何都在锚定标记之间

你可以有这样的东西:

driver.findElement(By.xpath("//a[@title='Workitem Summary']")).click()  
希望这有帮助。

标记之间的文本是“工作项摘要”,因此如果您愿意使用

driver.findElement(By.linkText("Workitem Summary")).click(); 
将单击该超链接

跨度无论如何都在锚定标记之间

你可以有这样的东西:

driver.findElement(By.xpath("//a[@title='Workitem Summary']")).click()  

希望这能有所帮助。

您可以尝试使用“偏移”单击(从左上角单击以像素为单位的x-y坐标距离):

为X偏移和Y偏移输入相应的值(以像素为单位)

编辑:

OP能够通过以下代码解决问题:

WebElement add1 = driver.findElement(By.linkText("Workitem Summary")); 
int width = add1.getSize().getWidth(); 
Actions act = new Actions(driver); 
act.moveToElement(add1).moveByOffset((width / 2) - 2, 0).click().perform(); 
add1.click();

可以尝试使用“偏移”单击(从左上角单击x-y坐标距离(以像素为单位):

为X偏移和Y偏移输入相应的值(以像素为单位)

编辑:

OP能够通过以下代码解决问题:

WebElement add1 = driver.findElement(By.linkText("Workitem Summary")); 
int width = add1.getSize().getWidth(); 
Actions act = new Actions(driver); 
act.moveToElement(add1).moveByOffset((width / 2) - 2, 0).click().perform(); 
add1.click();

发布html代码。
节点的子节点。为什么不考虑
?你的用例是什么?Span是链接的一部分,如果你想在你喜欢的链接中添加这个链接,你可以使用Span。但是,由于我想打开链接,我希望避免发布您的html代码。
节点的子节点。为什么不考虑
?你的用例是什么?Span是链接的一部分,如果你想在你喜欢的链接中添加这个链接,你可以使用Span。但由于我想打开链接,我想避免Span谢谢你的回答,但结果仍然是相同的答案,但结果仍然是相同的你使用了什么x-y值?尝试使用较低的值(如2px)。值为254和171,这太多了。这几乎肯定会在元素外部单击。试着用5和5像素。它做了一些事情,让我解释一下,从左上角我有一个菜单,我点击它,它给出了这样的东西:a B C D E现在点击a,显示屏幕和其他菜单项一样,a A1 B A2 C A3 D E我想点击E-E4,尝试这个5,5,它实际上导航到了E-E4,但点击的链接是D-D4,E-E4和D-D4都将共享相同的坐标,因此我们即将修复它:)得到解决方案,WebElement add1=driver.findElement(By.linkText(“工作项摘要”);int width=add1.getSize().getWidth();动作动作=新动作(驱动);moveToElement(add1).moveByOffset((宽度/2)-2,0.click().perform();添加1.单击();您使用了什么x-y值?尝试使用较低的值(如2px)。值为254和171,这太多了。这几乎肯定会在元素外部单击。试着用5和5像素。它做了一些事情,让我解释一下,从左上角我有一个菜单,我点击它,它给出了这样的东西:a B C D E现在点击a,显示屏幕和其他菜单项一样,a A1 B A2 C A3 D E我想点击E-E4,尝试这个5,5,它实际上导航到了E-E4,但点击的链接是D-D4,E-E4和D-D4都将共享相同的坐标,因此我们即将修复它:)得到解决方案,WebElement add1=driver.findElement(By.linkText(“工作项摘要”);int width=add1.getSize().getWidth();动作动作=新动作(驱动);moveToElement(add1).moveByOffset((宽度/2)-2,0.click().perform();添加1.单击();