脚本
Given I navigate to the table menu
When I click the "Add" button
And I fill "First name" with "Bob"
And I fill "Last name" with "Dylan"
And I click the "Create" button
Then I should see a new entry with a name of "Bob Dylan"
步骤定义
@step(u'I click the "(.*)" button')
def i_click_the_named_button(step, field):
button = world.browser.find_element_by_xpath('(//a[contains(text(),"{0}") and not(contains(@style, "display:none"))] | //input[@value="{0}" and not(contains(@style, "display:none"))] | //li[contains(text(), "{0}") and not(contains(@style, "display:none"))])[1]'.format(field))
button.click()
@step(u'I fill "(.*)" with "(.*)"')
def i_fill_in_field_with_value(step, field, value):
try:
label = world.browser.find_element_by_xpath('//label[contains(text(),"%s")]' % field)
id = label.get_attribute('for')
input = world.browser.find_element_by_id(id)
input.clear()
input.send_keys(value)
except:
input = world.browser.find_element_by_xpath('//input[@placeholder="%s"]' % field)
input.clear()
input.send_keys(value)
错误
无此元素(会话信息:chrome=31.0.1650.63)(驱动程序信息:chromeDrive=2.8.240825,平台=Linux3.8.0-34-通用x86_64)
描述
单击“创建”按钮时,会在DOM中插入一个div元素(通过JavaScript),显示“First name”和“Last name”字段。在窗口可见的情况下运行时,我可以看到div元素在消失并导致“I fill…”之前短暂出现失败的步骤。
据我所知,这是一个保持对新创建的div元素的关注的问题?
尝试的解决方案
环境
研究
在Selenium IDE中打开新窗口后保持焦点
使用Python绑定,SeleniumWebDriver click()有时无法工作。
如何切换到单击按钮后打开的新浏览器窗口?
Selenium WebDriver动作链
网络驱动程序。py实现
硒原料药
我不知道这为什么能解决问题,但它确实解决了问题。
@step(u'I click the "(.*)" button')
def i_click_the_named_button(step, field):
button = world.browser.find_element_by_xpath('(//a[contains(text(),"{0}") and not(contains(@style, "display:none"))] | //input[@value="{0}" and not(contains(@style, "display:none"))] | //li[contains(text(), "{0}") and not(contains(@style, "display:none"))])[1]'.format(field))
button.click()
time.sleep(1)
本文向大家介绍JS动态创建DOM元素的方法,包括了JS动态创建DOM元素的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS动态创建DOM元素的方法。分享给大家供大家参考。具体如下: 近日,因工作需要,需要通过点击某个元素后, 动态创建一个DOM元素并显示,因此写了一些相关的JS函数,在此记录,以作备忘: 使用示例: 希望本文所述对大家的javascript程序设计有所帮助。
问题内容: 我正在尝试测试DOM元素是否存在,如果确实存在,则将其删除,如果不存在,则将其创建。 检查是否存在,创建元素有效,但删除该元素无效。基本上,所有这些代码所做的就是通过单击按钮将iframe注入网页。我想发生的是,如果iframe已经存在,可以删除它。但是由于某种原因,我失败了。 问题答案: 应该在父级上调用,即: 在您的示例中,您应该执行以下操作:
利用DOM方法创建元素节点,通常要将document.createElement()、document.createTextNode()、appendChild()配合使用,十分麻烦。 而jQuery使用$就可以直接创建DOM元素 var oNewP = $("<p>使用jQuery创建的内容</p>"); 以上代码等同于javascript var oNewP2 = docume
我就是这么开始的:Hub命令:Java-jar selenium-server-standalone-3 . 141 . 59 . jar-role Hub节点命令:Java-dwebdriver . chrome . driver = " \ Users \ rachitamital \ eclipse-workspace \ first javaproject \ drivers \ chro
动态创建DOM元素的三种方式 document.write(); 不常用,因为容易覆盖原来的页面。 innerHTML = (); 用的比较多。绑定属性和内容比较方便。(节点套节点) document.createElement(); 用得也比较多,指定数量的时候一般用它。 1、方式一: document.write(); 这种方式的好处是:比较随意,想创建就创建,可以直接在write里写属性都行
后台菜单创建 一般我们的插件都会有后台管理的菜单,此时我们需要创建插件的后台管理菜单。以下是常用的方法。以下是Mydemo.php中的代码如下: <?php namespace addons\mydemo; use app\common\library\Menu; use app\common\model\User; use fast\Date; use think\Addons; use t