selenium:通过python选择div标签和文本

时间:2013-02-21 06:42:35

标签: python web-applications selenium

我开始学习硒几次了。我有像这样的div标签

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

如何选择上面的div标签并通过selenium py代码发送一些文本? (尝试谷歌搜索超过一小时 - 仍然没有找到方法) 这是python代码片段,它通向所需的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 ?

3 个答案:

答案 0 :(得分:1)

div标记内的情况下,有一个iframe。在Web Driver中,如果你想在框架内做任何动作,那么首先必须进入框架内。

进入框架的代码:

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

完成框架中的操作后,您必须离开框架以执行任何其他操作

离开相框的代码:

driver.switch_to_default_content();

答案 1 :(得分:1)

试试这个

driver.find_element_by_xpath("//div[@id='second']//input").send_keys("your Text here");

答案 2 :(得分:-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()