2013-08-22 2 views
0

В настоящее время я нахожу элемент составного класса sfnDialOrChartPanel sfnEditBorder с помощью findElement(By.cssSelector(".sfnEditBorder")). Кажется, он находит это нормально, но когда он выполняет контекст, не появляется меню, которое я ожидаю.Selenium context click on complex class

Я использую селектор CSS как-то неправильно? Есть ли способ показать местоположение селеновой мыши так или иначе, чтобы я мог видеть, где именно щелкнуть правой кнопкой мыши?

Благодаря

Chris

Actions actions = new Actions(webDriver_); 
WebElement masterPanel = webDriver_.findElement(By.cssSelector(".sfnEditBorder")); 
actions.contextClick(masterPanel); 

Я попытался посмотреть, если там было больше, чем один .sfnEditBorder вернулся, делая это ..

List<WebElement> masterPanel = webDriver_.findElements(By.className(".sfnEditBorder")); 

Однако есть только один ... любой больше идей?

+1

Это не ваш селектор, который ошибается, если я правильно вас понимаю. Есть ли элемент html над или под ним, на который вы можете нажать кнопку? Я иногда нажимал на внутренний элемент и работал, где внешний элемент не будет. –

+0

Я пробовал элементы выше, а не внизу, поскольку это последний, но никто из них, похоже, не работает - поэтому он хочет видеть, где находится мышь, и разрабатывать то, что происходит! –

+0

99% положительный селен не щелкает в неправильном месте. Вы пробовали действия? Или имитировать щелчок с помощью javascript? –

ответ

0

Я фактически не делал правый щелчок. вам необходимо позвонить по телефону actions.perform();

Actions actions = new Actions(webDriver_); 
WebElement masterPanel = webDriver_.findElement(By.cssSelector(".sfnEditBorder")); 
actions.contextClick(masterPanel); 
actions.perform();