如何使用java在SeleniumWebDriver中单击按钮? 拯救

如何使用java在SeleniumWebDriver中单击按钮? 拯救,selenium,Selenium,我需要点击上面提到的保存按钮。我正在使用SeleniumWebDriver并用java语言编写它 试试xpath。可能的原因可能是重复的id。我将尝试使用基于xpath文本的搜索 <div class="mscrm-globalqc-actionsdiv"> <button id="globalquickcreate_save_button_NavBarGloablQuickCreate" class="mscrm-globalqc-actionbutton" button_q

我需要点击上面提到的保存按钮。我正在使用SeleniumWebDriver并用java语言编写它

试试xpath。可能的原因可能是重复的id。我将尝试使用基于xpath文本的搜索

<div class="mscrm-globalqc-actionsdiv">
<button id="globalquickcreate_save_button_NavBarGloablQuickCreate" class="mscrm-globalqc-actionbutton" button_quickiframe_id="NavBarGloablQuickCreate">Save</button>

试试xpath。可能的原因可能是重复的id。我将尝试使用基于xpath文本的搜索

<div class="mscrm-globalqc-actionsdiv">
<button id="globalquickcreate_save_button_NavBarGloablQuickCreate" class="mscrm-globalqc-actionbutton" button_quickiframe_id="NavBarGloablQuickCreate">Save</button>

很简单,您需要做的就是首先找到要单击的元素的引用

在您的情况下,可以使用元素按钮的id属性,即id=“globalquickcreate\u save\u button\u NavBarGloablQuickCreate”

所以代码应该是这样的

By byXpath = By.xpath("//button[contains(text(),'Save')]");
WebElement myDynamicElement = (new WebDriverWait(driver, 10))
  .until(ExpectedConditions.presenceOfElementLocated(byXpath ));
myDynamicElement.click();

~rOhit

很简单,您需要做的就是首先找到要单击的元素的引用

在您的情况下,可以使用元素按钮的id属性,即id=“globalquickcreate\u save\u button\u NavBarGloablQuickCreate”

所以代码应该是这样的

By byXpath = By.xpath("//button[contains(text(),'Save')]");
WebElement myDynamicElement = (new WebDriverWait(driver, 10))
  .until(ExpectedConditions.presenceOfElementLocated(byXpath ));
myDynamicElement.click();

~rOhit

代码如下:有时click()函数不起作用,所以请尝试使用sendKeys()函数


driver.findElement(By.id(“globalquickcreate\u save\u button\u NavBarGloablQuickCreate”)).sendKeys(Keys.ENTER)

代码如下所示:有时click()函数不起作用,所以请尝试使用sendKeys()函数


driver.findElement(By.id(“globalquickcreate\u save\u button\u NavBarGloablQuickCreate”))。sendKeys(key.ENTER)

您应该等到“保存”按钮可见。仅此之后,您必须单击“保存”按钮

步骤

1.创建Firefox浏览器会话

2.导航到页面并执行一些操作[根据您的要求,您可以选择任何内容]

3.等待,直到“保存”按钮可见

4.然后单击保存按钮

driver.findElement(By.id("globalquickcreate_save_button_NavBarGloablQuickCreate")).click();

您应该等到“保存”按钮可见。仅此之后,您必须单击“保存”按钮

步骤

1.创建Firefox浏览器会话

2.导航到页面并执行一些操作[根据您的要求,您可以选择任何内容]

3.等待,直到“保存”按钮可见

4.然后单击保存按钮

driver.findElement(By.id("globalquickcreate_save_button_NavBarGloablQuickCreate")).click();

还有,您尝试了什么?您不想使用id?driver.findElement(By.id(“globalquickcreate\u save\u button\u NavBarGloablQuickCreate”)。单击();我试过id,但它说找不到元素。显然,你需要给出更多的代码才能得到正确的答案。下面的所有答案都与您的代码片段相符。还发生了其他事情,如前所述,可能是在一个框架或其他东西中。还有,您尝试了什么?您不想使用id?driver.findElement(By.id(“globalquickcreate\u save\u button\u navbargloblquickcreate”)。单击();我试过id,但它说找不到元素。显然,你需要给出更多的代码才能得到正确的答案。下面的所有答案都与您的代码片段相符。如前所述,还发生了其他情况,可能是在一个帧或其他内容中。@rjt请尝试如上所示的显式等待,可能在其他地方失败,然后您可以再次查看标记,并让我知道是否有切换到某个帧或类似内容的情况?因为它只指向这里,可能是一种可能性。唯一的问题是它可以在内部和iframe中,如果是这种情况,您需要切换到iframe@rjt请尝试如上所示的显式等待,可能在其他地方失败,然后您可以再次查看标记并让我知道是否需要切换到某个帧或类似的情况吗?因为它只指向这里,可能是一种可能性。唯一的问题是它可以在内部和iframe中,如果是这种情况,您需要切换到iframe