Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/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
Javascript 单击Selenium的动态链接_Javascript_Java_Selenium_Selenium Webdriver_Automation - Fatal编程技术网

Javascript 单击Selenium的动态链接

Javascript 单击Selenium的动态链接,javascript,java,selenium,selenium-webdriver,automation,Javascript,Java,Selenium,Selenium Webdriver,Automation,我试图点击一个动态生成的链接,它似乎执行了一些Javascript。我曾尝试使用“onclick”和JavaScripExecutor方法,但无法在页面中找到元素。我正在使用的代码片段如下所示: <a class="a68a" target="_top" style="cursor:pointer;" href="" onkeypress="if(event.keyCode == 13 || event.which == 13){ClientReportc2b21bbce37e4f5ba9

我试图点击一个动态生成的链接,它似乎执行了一些Javascript。我曾尝试使用“onclick”和JavaScripExecutor方法,但无法在页面中找到元素。我正在使用的代码片段如下所示:

<a class="a68a" target="_top" style="cursor:pointer;" href="" onkeypress="if(event.keyCode == 13 || event.which == 13){ClientReportc2b21bbce37e4f5ba98575a2680610a2.ActionHandler('Drillthrough','64iT0R0x0:0');}return false;" onclick="ClientReportc2b21bbce37e4f5ba98575a2680610a2.ActionHandler('Drillthrough','64iT0R0x0:0');return false;" tabindex="1">
    <div class="r13" style="WIDTH:17.42mm;">
        <div class="a67"> <span class="a66">123456789</span> </div>
    </div>
</a>

我认为(a)和(b)失败是因为JS名称的一部分是动态生成的,我不能依赖它。如果能得到一些帮助,我将不胜感激。谢谢。

如果元素是动态生成的,那么您可能应该先等待元素出现,然后单击它。请尝试下面的代码,看看是否有帮助-

driver.wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//a[@class='a68a']"))).click();

希望这能有所帮助。

在“a”标记的父标记上而不是在“a”标记上尝试相同的操作如何。您尝试的方法没有问题,只是动态加载内容使问题变得更糟。让我们用父标记包含相同的路径,它应该可以工作。如果你发布HTML,请通过类似的美化程序运行它。这使它更容易阅读。谢谢
driver.wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//a[@class='a68a']"))).click();