(Selenium) Как я могу нажать несколько кнопок с одним и тем же классом, но только с динамическим c href? - PullRequest
0 голосов
/ 02 августа 2020

Мне нужно нажать все эти кнопки, и селен должен определить, сколько этих кнопок на странице.

<a style="margin-left: 10px;" href="/home/edit?Pproduct=d08983fca254&amp; source=my-products” class="rlg-btn-secondary xh-
highlight” >Edit</a>

<a style="margin-left: 10px;" href="/home/edit?product=3191d95e8233&amp; source=my-products” class="rlg-btn-secondary” >Edit</a>

Ответы [ 2 ]

0 голосов
/ 02 августа 2020
You can use findelements by list class in selenium.

List<WebElement> editbuttons = driver.findElements(By.xpath("//*a[contains(text(),"Edit")]));

// To get number of edit buttons

Int count=editbuttons.size();

// если вы хотите 1-ю кнопку editbuttons.get (0) .click ();

// все кнопки редактирования сохраняются как список в селене

0 голосов
/ 02 августа 2020

Предположим, все ваши ссылки имеют текст Edit (как показано в данном фрагменте). Вы можете сначала получить список всех элементов с одним и тем же свойством, а затем выполнить любое действие, которое вы хотите, перемещаясь по ним один за другим.

# To get list of all links with text Edit
buttonsList = driver.find_elements_by_xpath("//a[text()='Edit']")
# Traverse to each element in list
for bth in buttonsList:
    btn.click()  # or perform action, whatever you want here.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...