我在执行硒代码时遇到错误。
码:
driver.find_element_by_id(PlaylistManagerLocators.Folder_Name).send_keys(Keys.chord(Keys.CONTROL, "a"), "Auto_Folder5763")
Run Code Online (Sandbox Code Playgroud)
错误:
AttributeError:类型对象“ Keys”没有属性“ chord”
我已经导入了所有必需的文件。
from selenium.webdriver.common.keys import Keys
from selenium.webdriver import ActionChains
driver.find_element_by_id(PlaylistManagerLocators.Folder_Name).send_keys(Keys.chord(Keys.CONTROL, "a"), "Auto_Folder5763")
Run Code Online (Sandbox Code Playgroud) 我正在使用Python 3和selenium.
我们假设 var = "whatever\nelse"
我的问题是,当我使用elem.send_keys(var)它时,在"什么"之后发送表单(因为换行符)
我怎么能用+ SHIFT + ENTER + else 替换"whatever \nelse" ?
或者有没有其他方法来输入换行而不实际使用javascript或用换行符键替换换行符?
注意:elem是一个令人满意的div.
我使用Selenium Server(v2.21)和Selenium Java Client(v.2.21.0)来自动化Enter每个条目后需要按下键的Web表单,因为字段是根据输入的值公开的.所以基于这里的解决方案,我一直在尝试不同的方式在表单中输入字符串并按Enter- 这是我尝试过的:
// type field value
selenium.type("program", "MIC HOMEOWNERS");
// ** not working: selenium.keyPress("program", "\\13");
// ** not working: selenium.select("program", "Program");
// ** not working: selenium.keyPressNative(Keys.ENTER.toString());
// ** not working: selenium.keyDown("program", "13");
Run Code Online (Sandbox Code Playgroud)
它会看起来像这是最合理的解决方案(selenium.keyPressNative(Keys.ENTER)),但是编译器抛出,如果你不添加一个错误.toString,因为keyPressNative期待一个字符串.
实际的表单代码:
<label >Program</label>
<input id="program" name="program1" class="readonly-bg" readonly="readonly" type="text" value="MIC HOMEOWNERS" size="12"/>
<input id="program" name="program" type="hidden" value="601"/>
<script type="text/javascript">
Spring.addDecoration(new Spring.ElementDecoration({
elementId : "program",
widgetType : "dijit.form.ValidationTextBox",
widgetAttrs : { …Run Code Online (Sandbox Code Playgroud)