Есть ли способ обработки класса div в Selenium? - PullRequest
0 голосов
/ 07 мая 2019

Я пытаюсь выяснить, как использовать Селен с div класс :

<div class="main-button ol-has-tooltip jse-info">

попробовал все, чтобы найти этот элемент и нажать на него:

driver.findElement(By.xpath("/html/body/div[1]/div[3]/div[2]/div[1]/div[2]")).click();

и:

driver.findElement(By.cssSelector("main-button ol-has-tooltip jse-info")).click();

Но у меня не получилось, как я могу справиться с этим?Спасибо.

Ответы [ 3 ]

0 голосов
/ 07 мая 2019

Пожалуйста, проверьте, является ли div другим кадром.В случае, если он находится в другом кадре, вам, возможно, придется использовать driver.switchTo (). Frame ("").Когда вы закончите с операциями во фрейме, вы должны использовать driver.switchTo (). DefaultContent ().Во-вторых, проверьте, активен ли элемент div.Было бы проще предложить решение, как только вы добавите подробности об исключении, если вы их получите.

0 голосов
/ 07 мая 2019

Возможно, что класс используется в нескольких тегах

Так что лучше использовать XPath и CSS, как сказано в @ supputuri

Вы также можете использовать условие ожидания elementToBeClickableздесь

WebElement element = driver.findElement(By.cssSelector("div.main-button.ol-has-tooltip.jse-info"));
WebDriverWait wait = new WebDriverWait(driver, 10); 
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(element));
element.click();
0 голосов
/ 07 мая 2019

Добро пожаловать в SO.

Если вы пытаетесь щелкнуть по элементу div с именем main-button ol-has-tooltip jse-info clas, то вот правильные стратегии поиска с использованием xpath и css.

Xpath Общие обозначения `// tagName [@ attribute = 'attributeVale']

//div[@class='main-button ol-has-tooltip jse-info']

driver.findElement (By.xpath (" // div [@ class = 'main-button ol-has-tooltip jse-info '] ")). click ();

CSS: Общая запись tagName.class.name.replace.space.with.dot

div.main-button.ol-has-tooltip.jse-info

driver.findElement (By.cssSelector ("div.main-button.ol-has-tooltip.jse-info")). click ();

Вы всегда можете проверить свой xpath и CSS винструменты разработки браузера.Обратитесь к моему ответу , как проверить xpath .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...