Путь css странный и не работает

Я пытаюсь автоматизировать нажатие на кнопку «твитнуть», которая является частью элемента iframe.

Я пробовал использовать css path, xpath, но они не работают.

css путь похож на html.regular body.hcount div # widget div.btn-o a # b.btn span # l.label

Я также пробовал xpath, но он не работает.

Selenium ide предоставляет для него значение "1", которое не работает с веб-драйвером.

Пожалуйста, предложите какой-нибудь способ.


person pranky301    schedule 28.08.2012    source источник


Ответы (1)


Вам нужно перейти на элемент iframe

driver.switchTo().frame(driver.findElement(By.id("frameId")));
//do your stuff
driver.switchTo().defaultContent();

Если проблема не в этом, просьба предоставить дополнительную информацию.

person Tarken    schedule 28.08.2012
comment
Мне нужно автоматизировать кнопку твита ... она одинакова на всех сайтах. www.101websites.com - person pranky301; 28.08.2012
comment
? Я не понимаю твоей информации? домен продается - person Tarken; 28.08.2012
comment
Шаги: посетите 101bestwebsites.com, там мне нужно автоматизировать клики по кнопке твита на странице. - person pranky301; 28.08.2012
comment
Ваша страница ужасна. У него несколько окон iframe. Вам нужно переключиться на правильный, прежде чем Selenium правильно увидит элемент. Я действительно сомневаюсь, что вы сможете автоматизировать это надежным способом. - person Arran; 28.08.2012
comment
Да, как я уже сказал, вам нужно переключиться на iframe, тогда вы сможете нажать кнопку (диапазон). - person Tarken; 29.08.2012
comment
'код' driver.switchTo (). frame (driver.findElement (By.id (l))); driver.findElement (By.cssSelector (html.regular body.hcount div # widget div.btn-o a # b.btn span # l.label)). click (); // driver.findElement (By.xpath (// * [@ id = l])). click (); driver.switchTo (). defaultContent (); 'code' Я попытался использовать путь CSS .. он не работает, и xpath показывает ошибку. Если это неверно, укажите правильный код. - person pranky301; 29.08.2012
comment
почему так сложно? By.cssSelector("a[id='b']") должен помочь, если идентификатор уникален - person Tarken; 29.08.2012
comment
selenium по-прежнему не может найти и нажать кнопку твита. Напишите, пожалуйста, полный код. - person pranky301; 01.09.2012