РЕДАКТИРОВАТЬ: ОБНАРУЖЕНО ЧАСТИЧНОЕ РЕШЕНИЕ: Я использовал Safari. Выполнение задачи через Chrome made превратило то, что было в Shadow DOM, в Light Dom, так что теперь я могу получить к нему доступ!
Я пытаюсь автоматизировать задачу браузера и автоматизировать заполнение некоторых форм с помощью Watir, но Мне труднее всего пытаться заполнить текстовые поля в теневых DOM.
Изображение текстового поля:
https://i.imgur.com/FWccWea.png
Это соответствует HTML текстовому полю почтового индекса:
<input class="textbook" id="Fm2_Ctrol19_TextBox" name="Fm2_Ctrol19_TextBox"
onchange="SearchJs.setBackgroundColor(this, SearchJs.checkTextBox_;"
onkeypress="return
SearchJS.onTextBoxKeyPress(event, this);"
onkeyup="SearchJs.setBackgroundColor(this,SearchJs.checkTextBox);"
onpaste="return SearchJs.onTextBoxPaste(event, this);" style="width:100px;
background=color: #ffffff;"
title="The zip code in which the property is located." type="text"> =$0
Shadow Content (User Agent) # The text field is in here, I imagine.
</input>
Я недостаточно знаком с javascript и Shadow DOM, чтобы знать, релевантны ли статьи, которые я искал в Google.
Раньше я пробовал использовать простой Watir, но он выдает Watir::Exception::UnknownObjectException (timed out after 30 seconds, waiting for #<Watir::TextField: located: false; {:id=>"Fm2_Ctrol19_TextBox", :tag_name=>"input"}> to be located)
через 30 секунд.
b.text_field(id: 'Fm2_Ctrol19_TextBox').set 'POSTAL CODE HERE' # What I've tried
Есть ли у кого-нибудь информация, которая могла бы помочь мне заполнить это поле?