Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.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 在没有分配id的情况下(尝试了各种解决方案),如何使用Selenium使文本(在HTML表中)被单击?_Javascript_Html_Selenium_Selenium Webdriver_Automation - Fatal编程技术网

Javascript 在没有分配id的情况下(尝试了各种解决方案),如何使用Selenium使文本(在HTML表中)被单击?

Javascript 在没有分配id的情况下(尝试了各种解决方案),如何使用Selenium使文本(在HTML表中)被单击?,javascript,html,selenium,selenium-webdriver,automation,Javascript,Html,Selenium,Selenium Webdriver,Automation,以下是一个虚拟HTML页面源(从一个看起来不像网页的页面重新创建,它是从一个工具生成的,看起来像一个文档): 通过使用JS单击: gobtn.clickjs() 按驱动程序实例: driver.findelement(By.xpath("")).click(); driver.findelement(By.linktext("GO")).click(); 通过使用Actions类: Actions ob=new Actions(driver) ob.moveToElement(gobtn)

以下是一个虚拟HTML页面源(从一个看起来不像网页的页面重新创建,它是从一个工具生成的,看起来像一个文档):

通过使用JS单击:

gobtn.clickjs()
按驱动程序实例:

driver.findelement(By.xpath("")).click();
driver.findelement(By.linktext("GO")).click();
通过使用Actions类:

Actions ob=new Actions(driver) 
ob.moveToElement(gobtn).perform()
ob.click(gobtn).perform()
通过发送键

gobtn.sendkeys(keys.ENTER);
注意:在控制台上没有抛出错误,控制台中显示操作已执行,但在UI中没有反映,因此不会执行操作


请告诉我哪里做错了,或者是否有其他方法执行单击操作?

为什么要单击不可单击的元素

当且仅当WebElement可单击时,您可以单击它。例如锚定标签、按钮等

您的代码:

driver.findelement(By.linktext("GO")).click();  
如果“GO”不在链接中,基本上在
之间,则不起作用


首先确定可单击的元素,然后尝试对其执行单击操作。

如何单击不可单击的元素?在实际页面中,当我通过xpath检查元素时,我可以手动单击它,上面的代码片段就是我看到的。那么你可能共享了错误的HTML。我用你提供的HTML代码创建了一个HTML文件,我无法手动单击它。我在两个地方发现了“Go”文本,两个地方都有类似的HTML片段。是否有其他方法进行ti检查?我可以手动单击页面并执行结果操作。此外,该页面看起来不像网页,它看起来像excel工作表。它正在浏览器中打开吗?它有URL吗?这是一个内部网页,我正试图在其中执行自动化测试。内部网页是什么意思?它不能在外部访问。
Actions ob=new Actions(driver) 
ob.moveToElement(gobtn).perform()
ob.click(gobtn).perform()
gobtn.sendkeys(keys.ENTER);
driver.findelement(By.linktext("GO")).click();