我正在寻找一种快速的方法来键入进入或返回键在硒。
不幸的是,我试图测试的表单(不是我自己的代码,所以我不能修改)没有Submit按钮。当手动使用它时,我只需输入Enter或Return。我怎么能做到这一点与硒类型命令,因为没有按钮点击?
我正在寻找一种快速的方法来键入进入或返回键在硒。
不幸的是,我试图测试的表单(不是我自己的代码,所以我不能修改)没有Submit按钮。当手动使用它时,我只需输入Enter或Return。我怎么能做到这一点与硒类型命令,因为没有按钮点击?
当前回答
如果你只是想按Enter键(python):
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
action = ActionChains(driver)
action.send_keys(Keys.ENTER)
action.perform()
其他回答
您可以在输入文本的元素对象上调用submit()。
或者,你也可以将Enter键发送给它,如下面的Python代码片段所示:
from selenium.webdriver.common.keys import Keys
element.send_keys(Keys.ENTER) # 'element' is the WebElement object corresponding to the input field on the page
我只是想指出,我的Cucumber测试需要这个,并发现如果您想模拟按enter/return键,则需要发送:return值,而不是:enter值(请参阅此处描述的值)。
在Python中
步骤1。导入密钥
步骤2。driver.find_element_by_name (" ") .send_keys (Keys.ENTER)
注意:你必须写密钥。输入
对于每个使用JavaScript / Node.js的人来说,这对我来说是有效的:
driver.findElement(By.xpath('xpath')).sendKeys('ENTER');
Java远程控制:
selenium.keyPress("elementID", "\13");
对于Java的Selenium WebDriver(也就是Selenium 2):
driver.findElement(By.id("elementID")).sendKeys(Keys.ENTER);
Or,
driver.findElement(By.id("elementID")).sendKeys(Keys.RETURN);
在WebDriver中按Enter的另一种方法是使用Actions类:
Actions action = new Actions(driver);
action.sendKeys(driver.findElement(By.id("elementID")), Keys.ENTER).build().perform();