luk*_*aus 5 python django splinter python-behave
我想使用Splinter测试自动完成框。我需要将“向下”和“输入”键发送到浏览器,但是这样做很麻烦。
我目前正在寻找一个输入框,并在该框中成功输入“ tes”
context.browser.find_by_xpath(\\some\xpath\).first.type('tes')
Run Code Online (Sandbox Code Playgroud)
我接下来要做的是向浏览器发送一些键,特别是“向下”键(选择第一个自动完成建议),然后发送“ enter”键选择该自动完成元素。
我已经尝试了广泛的搜索,但不知道如何执行此操作。
我什至尝试了一些JavaScript
script = 'var press = jQuery.Event("keypress"); press.keyCode = 34; press.keyCode = 13;'
context.browser.execute_script(script)
Run Code Online (Sandbox Code Playgroud)
但这不幸的是没有做任何事情
我正在使用的软件包:
django 1.6 django-behave == 0.1.2碎片0.6
当前配置是:
从splinter.browser import从django.test.client import浏览器import Client
context.browser = Browser('chrome')
context.client = Client()
Run Code Online (Sandbox Code Playgroud)
您可以通过切换到活动元素来发送密钥:
from selenium.webdriver.common.keys import Keys
context.browser.find_by_xpath('//input[@name="username"]').first.type('test')
active_web_element = context.browser.driver.switch_to_active_element()
active_web_element.send_keys(Keys.PAGE_DOWN)
active_web_element.send_keys(Keys.ENTER)
Run Code Online (Sandbox Code Playgroud)
活动元素将是您与之交互的最后一个元素,因此在本例中是您输入的字段。
switch_to_active_element()返回 a selenium.webdriver.remote.webelement.WebElement,而不是 a splinter.driver.webdriver.WebDriverElement,所以不幸的是你不能直接调用send_keys返回值find_by_*(...)。
| 归档时间: |
|
| 查看次数: |
2613 次 |
| 最近记录: |