当前位置: 首页 > 知识库问答 >
问题:

使用selenium webdriver实现自动化,但无法单击元素

濮书
2023-03-14

我正在使用selenium webdriver在我的网站上执行自动化。我可以登录网站,但不能对元素执行点击操作。我的代码尝试是:

WebElement add = BrowserUtilities.driver.findElement(By.xpath("//button[@class = 'btn btn-primary btn-lg']"));
add.click();

我还尝试了javascript executor,如下所示:

JavascriptExecutor js = (JavascriptExecutor) BrowserUtilities.driver;
js.executeScript("argument[0].click()", add);

现在我在控制台得到异常,比如:

FAILED CONFIGURATION: @BeforeClass launchBrowserTest
org.openqa.selenium.WebDriverException: unknown error: argument is not defined

如果有其他解决方案,请告诉我。

共有2个答案

谷梁浩思
2023-03-14

试试看。

 WebDriverWait wait = new WebDriverWait(driver,9000);   
 WebElement button=wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//button[@class = 'btn btn-primary btn-lg']")));
    button.click();
秦钟展
2023-03-14

这是因为javascript和ajax调用目前你可以尝试这个代码:

使用webdriver wait as查找元素

 WebDriverWait wait=new WebDriverWait(driver,50 );           
    WebElement element = wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//button[@type='Cancel']")));

然后使用Actions类执行单击操作,如下所示:

Actions actions = new Actions(driver);
actions.moveToElement(element).click().build().perfrom();
 类似资料:
  • 我试图点击一个按钮,它出现在图的右侧(图上方的三行),最后想点击“下载为CSV”。我的代码如下。 File=WebDriverWait(驱动程序,20).until(ec.element_to_be_clickable((by.xpath,'//*[@id=“HighCharts-3SLSA4F-0”]/div[2]/ul/li[6]')).click()#下载为csv 错误:引发TimeoutE

  • 我正在尝试使用selenium WebDriver实现应用程序的自动化。我经常遇到click action在WebElements上不起作用的情况。 例如,在html块中,类似于: 我已经试着把这件事做了差不多一个星期了。谁能帮帮我吗? 代码似乎确实改变了单击时的图像(我比较了单击前后的图像源)。但是没有可见的“onclick()”调用(我不确定是否有其他方法在click上调用java脚本函数,如

  • 在此输入图像描述无法使用selenium webdriver单击内联元素。 这是URL 除了图像链接(右侧顶部),还有一个方形图标。需要单击该图标并选择“地图”。附上截图。我使用了xpath、cssselector、ID、Name,但没有任何效果。谁能帮我一下吗。 代码:

  • 环境:Eclipse-Java-Junit-Firefox web driver 屏幕截图网址 : https://www.dropbox.com/s/26fl2l1y1mkpxiz/Screenshot 2014-01-06 01.52.43.png 我试图测试一个网页,但找不到元素(看起来像按钮)。Firebug的xpath是:<code>/*〔@id='DERIVED_REGFRM1_LIN

  • 在我们的应用程序中,当我将鼠标放在菜单项上时,将出现下拉菜单项。在这里我想通过点击它来选择一个项目。主菜单:管理子菜单:管理频道,管理用户在selenium webdriver中,我尝试通过给出xpath,linktext,partial link文本直接点击管理频道。

  • 我们已经更新到最新的Selenium版本3.141.59并且发现点击不起作用。我没有得到一个错误消息,表明单击失败,并移动到下一个函数或行。我已经验证了它在Chrome、Firefox和Edge上不起作用。我们的代码是用Java编写的。 在单击元素之前添加等待时间 操作 JavaScriptExecutor 如有任何帮助,我们将不胜感激!