0
我目前正在嘗試自動化我們的Web應用程序的一部分,主要是一種類似於facebook的@mentioning形式。在前端,當用戶在文本輸入中鍵入@時,API將調用用戶列表並將其顯示在出現的框中。此元素當前處於DOM的末尾,並且在@鍵入時纔會觸發javascript。Javascript框沒有被觸發在硒
我的硒代碼使用send_keys填充@namehere但用戶窗口元素沒有出現,即使我做手工,而瀏覽器是通過硒打開
我一直使用從upkey事件試過動作鏈,注入JavaScript觸發事件,單擊回到文本輸入,以確保它的重點,但沒有任何作品。這發生在鉻和火狐
字面搜索到處,任何想法?
特徵步驟:
And i create a post titled "@James"
實現:
@when('i create a post titled "([^"]*)"')
def step_impl(context, text):
page = ActivityStreamPage.NewPost(context)
page.post_input.click()
page.post_input.send_keys(text)
元件:
'post_input': (By.CLASS_NAME, "js-post-textarea")
網絡元件:
<div class="js-post-textarea js-edit-content editor__editable"
contenteditable="true" autocomplete="off" autocorrect="off"
autocapitalize="off" placeholder="Write a post or @mention to notify
someone"><span class="atwho-query">@</span><br></div>
用戶框:
<div class="atwho-view" id="at-view-64" style="display: none; top:
135px; left: 440px;">
<ul class="atwho-view-ul">
<li class="mention__item cur">
<p class="mention__notice">
<span>@Group</span>
"Notify everyone in this Group."
</p>
</li>
</ul>
</div>
真正有關的部分是'即使我通過硒打開瀏覽器時手動執行它。這似乎意味着用於啓動瀏覽器的選項可能與默認值不同(在沒有Selenium的情況下啓動時)。我相信你應該專注於設置瀏覽器選項以使手冊部分起作用。然後,Selenium的send_keys應該可以工作。我不知道配置問題會是什麼。 –