Nano Hash - криптовалюты, майнинг, программирование

Где щелкнуть этот следующий объект (кнопку), чтобы значения отображались в Selenium (Webdriver)?

<table id="ext-comp-1389" class="x-btn x-btn-text-icon " cellspacing="0" style="width: auto;">
<tbody class="x-btn-small x-btn-icon-small-left">
<tr>
<tr>
<td class="x-btn-ml">
<td class="x-btn-mc">
<em class="x-btn-split" unselectable="on">
<button id="ext-gen128" class="x-btn-text create" type="button">New</button>
</em>
</td>
<td class="x-btn-mr">
<i>&nbsp;</i>
</td>
</tr>
<tr>
</tbody>
</table>

Выше показано, как кнопка «Создать» присутствует в файле HTML...

Поведение кнопки заключается в том, что рядом с ней присутствует знак «+»... Только при нажатии на знак «+» отображается список параметров.... При нажатии в любом другом месте кнопка ничего не происходит...

Я пытаюсь автоматизировать это, используя Selenium Webdriver... И ниже приведен окончательный способ, которым я нажимаю кнопку...

private static int buttonwidth=24;//value got from firebug computation tab...
private static final int Xoffset = (buttonwidth/2)+6;
private static final int Yoffset = 0;
private static int buttonwidth1=42;   
private static final int Xoffset1 = (buttonwidth/2)-6;
private static final int Yoffset1 = 0;
.......    
......
.......


WebElement ele = driver.findElement(By.xpath("//*[@id='ext-gen128']"));//new button's id
Actions build = new Actions(driver);
build.moveToElement(ele, Xoffset, Yoffset).click().build().perform();
WebElement ele1 = driver.findElement(By.xpath("//*[@id='ext-comp-1389']/tbody/tr[2]/td[2]/em"));
Actions build1 = new Actions(driver);
build1.moveToElement(ele, Xoffset1, Yoffset1).click().build().perform();

Расположение кнопок следующее: ширина 42 для класса Em и 24 для кнопки....Их снимки тоже...

Макет класса Em_Class

NewButton_Layout

Новое изображение кнопки

Кто-нибудь может помочь мне с этим? На какие координаты и объект нацеливаться?


Ответы:


1

Метод moveToElement(ele,x,y) перемещает мышь на смещение от верхнего левого угла элемента.

Так что я думаю, вам придется сделать некоторые расчеты, чтобы убедиться, что вы получаете правильные координаты, чтобы щелкнуть символ +.

14.06.2012
  • Хорошо, я работал с центром элемента! Попробую и дам вам знать... 14.06.2012
  • У меня есть сомнения, есть два класса Em, у которых есть «+» и кнопка/ссылка, у которой есть имя «Новый». Я хочу нажать на «+»... Если я дам , нажмите на элемент Em, я получаю, что элемент сообщения не может быть расположен... Я проверил полный xpath, он правильный... это потому, что он имеет атрибут unclickable='on', что элемент невозможно щелкнуть... Затем я попытался щелкнуть по кнопке/ссылке и указать координаты за пределами диапазона кнопки... щелкнет ли он по знаку «+» или щелкнет где-то снаружи...? ? 14.06.2012
  • Если есть 2 класса Em. На какой из них вы хотите нажать. Если есть атрибут unClickable='on'. Вы не сможете нажать на нее. 14.06.2012
  • этот вопрос может показаться забавным... но я не знаю текущего поведения... следовательно...** Вопрос, если я нажму на элемент, но укажу координаты за пределами диапазона элемента... будет ли нажат следующий элемент? ** Возьмем, например: код, присутствующий в приведенном примере, ‹em class=x-btn-split unselectable=on› ‹button id=ext-gen128 class=x-btn-text create type=button›New‹/button › ‹/em› ‹/td›… Внутри тега кнопки присутствует текст «Новый»… Внутри тега em, но вне тега кнопки присутствует символ «+», где нам нужно нажать ... Итак, как вы посоветуете, если тег em имеет unclickableOn 14.06.2012

  • 2

    Лучшее решение для такого рода проблем — использовать Sahi. Он прост в использовании и обладает хорошей функциональностью. Используйте команду _click(_xy(_cell("New"),-5,5));

    18.06.2012
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..