найдите элемент в selenium по подстроке

#java #selenium #selenium-webdriver #findelement

Вопрос:

Я кодирую на java с помощью selenium и застрял. Я должен найти элемент по идентификатору, идентификатор элемента такой "msi_num_create-copy" (число меняется каждый раз), есть способ найти элемент по части идентификатора?

Комментарии:

1. //*[contains(@id, 'your_sub_string')] , У вас также есть функция starts-with , вместо contains

Ответ №1:

да, вам нужно будет использовать либо css-селектор, либо xpath :

XPATH был бы :

 //*[contains(@id, '_create-copy') and starts-with(@id, 'msi')]
 

и используйте его вот так :

 WebElement someEle = driver.findElement(By.xpath("//*[contains(@id, '_create-copy') and starts-with(@id, 'msi')]"));
someEle.click(); or someEle.sendKeys("some string");