2013-02-21 1 views
0

Я начал изучать селен пару часов назад. У меня есть тег div, подобный этомуselenium: выберите тег div и текст через python

<div id="first"> 
<iframe src="/emulator/" scrolling="no" frameborder="0"></iframe> 
</div> 
<div id="second"> 
//some more html tags 
    </div> 

Как выбрать выше тег div и отправить некоторый текст через код selenium py? (Пробовал поиск в Google более часа - все еще не нашел способ) Вот фрагмент кода на питоне, который ведет к необходимой странице тега div.

class Wm2(unittest.TestCase): 
    def setUp(self): 
     self.driver = webdriver.Firefox() 
     self.driver.implicitly_wait(30) 
     self.base_url = "http://localhost/" 
     self.verificationErrors = [] 
     self.accept_next_alert = True 

    def test_wm2(self): 
    driver = self.driver 
    driver.get(self.base_url + "/") 
    driver.find_element_by_link_text("Log In").click() 
    driver.find_element_by_id("username").clear() 
    driver.find_element_by_id("username").send_keys("NAME") 
    driver.find_element_by_id("password").clear() 
    driver.find_element_by_id("password").send_keys("PWD123") 
    driver.find_element_by_name("submit").click() 
    #how to choose div tag and send_some text ? 

ответ

1

В вашем случае внутри div тега есть iframe. В Web Driver, если вы хотите делать какие-либо действия внутри фрейма, значит, сначала yiu нужно зайти внутрь фрейма.

код попасть в кадре:

driver.switch_to_frame("Frame Name"); 
//Do some actions on the frame 

После того, как вы закончили свои действия в кадре, вы должны покинуть кадр, чтобы выполнить любое другое действие

код покинуть рамку :

driver.switch_to_default_content(); 
+0

спасибо, Это сработало. –

-4
def test_wm2(self): 
driver = self.driver 
driver.get(self.base_url + "/") 
driver.find_element_by_link_text("Log In").click() 
driver.find_element_by_id("username").clear() 
driver.find_element_by_id("username").send_keys("NAME") 
driver.find_element_by_id("password").clear() 
driver.find_element_by_id("password").send_keys("PWD123") 
driver.find_element_by_name("submit").click() 
1

Попробуйте с этим

driver.find_element_by_xpath("//div[@id='second']//input").send_keys("your Text here"); 
Смежные вопросы