Как щелкнуть с селеном по x-btn-split, чтобы я сам мог выбрать элемент, но не элемент по умолчанию - PullRequest
0 голосов
/ 16 марта 2012

В веб-коде у меня есть кнопка:

<div id="net-equipment-button_config-1037" class="x-btn x-box-item x-toolbar-item x-btn-default-small x-noicon x-btn-noicon x-btn-default-small-noicon" style="margin: 0pt; left: 321px; top: 0px;">
<em id="net-equipment-button_config-1037-btnWrap" class="x-btn-split x-btn-split-right">
<button id="net-equipment-button_config-1037-btnEl" class="x-btn-center" autocomplete="off" role="button" hidefocus="true" type="button" aria-haspopup="true">
<span id="net-equipment-button_config-1037-btnInnerEl" class="x-btn-inner" style="">Конфигурация</span>
<span id="net-equipment-button_config-1037-btnIconEl" class="x-btn-icon x-hide-display">&nbsp;</span>
</button>
</em>
</div>

Если я просто сделаю по селену, нажмите css = # net-equipment-button_config-1037-btnWrap, элемент по умолчанию, выбранный из этой кнопкино я хочу выбрать другой предмет не по умолчанию, как я могу это сделать?Я не могу найти ни одного ответа в Интернете, только вопрос.Не могли бы вы помочь мне, пожалуйста.

PS Эта кнопка представляет собой разделенную кнопку, которая выбирает элемент по умолчанию, нажав на него, и выпадающее меню, если нажать на стрелку

1 Ответ

1 голос
/ 17 марта 2012

Не видя этого в браузере и CSS, это немного сложно узнать наверняка, но при условии, что я понимаю это и оно работает так, как я думаю, оно работает, у меня есть решение.Вы можете щелкнуть со смещением, чтобы щелкнуть стрелкой.Selenium автоматически щелкает в центре элемента.Вы можете определить ширину кнопки и задать смещение по оси x как ширину / 2 - 5 (чтобы она щелкала по 5 пикселям от правого края кнопки).Код в C # для селена 2 + вебдрайвера будет таким:

int xOffset = buttonWidth / 2 - 5;

Компоновщик действий = новые Действия (webDriver);

Компоновщик.MoveToElement (element, xOffset, 0);

builder.Click ();

...