【发布时间】:2019-04-05 11:00:46
【问题描述】:
我在处理什么
在我的一个测试中,我需要与使用常规 css 选择器或 xpath 很难选择的弹出输入字段进行交互。不过,我知道这个弹出框会成为焦点。
我如何使用它的焦点来正确断言输入字段包含一些文本?
我正在寻找的伪代码:
element = driver.find_element_by_FIND_THE_ELEMENT_WITH_FOCUS
assert elem.text == "foobar"
我遇到的部分解决方案:
Possibly a working solution in Ruby:
element = @driver.find_element :css, 'input:focus'
sleep(3)
element.send_keys "Hello WebDriver!"
assert_equal(element.attribute('value'),"Hello WebDriver!")
Getting the focused element with jQuery:
var focus = $(document.activeElement);
请问您能否在 python 中提供解决方案?
编辑:
这是元素的 HTML:
<div class="css-1492t68">Select a speaker...</div>
我意识到我的问题可能会导致一些混乱,因为元素本身没有语义 <input> 标记,而是一个 <div>。我想这是由我们的开发团队在设计此应用时使用的 quill-editor 库处理的。
这是弹出框的截图:
【问题讨论】:
-
你能提供一些html吗?
-
但是你可以使用显式等待元素点击。
-
你说
this window will have focus---这是否意味着文本字段位于不同的浏览器窗口(弹出窗口)中? -
不抱歉,我应该指定的。它在同一个窗口和选项卡中,只是一个弹出框(在问题中添加了屏幕截图)
-
你能提供这个输入的 HTML 吗?