Ruby, Ватир, а как заполнить текстовые поля внутри Shadow DOM? (Сафари) - PullRequest
0 голосов
/ 11 июля 2020

РЕДАКТИРОВАТЬ: ОБНАРУЖЕНО ЧАСТИЧНОЕ РЕШЕНИЕ: Я использовал 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

Есть ли у кого-нибудь информация, которая могла бы помочь мне заполнить это поле?

1 Ответ

0 голосов
/ 13 июля 2020

ЧАСТИЧНОЕ РЕШЕНИЕ НАЙДЕНО: Я использовал Safari. Выполнение задачи через Chrome made превратило то, что было в Shadow DOM, в Light Dom, так что теперь я могу получить доступ к данным!

...