0

我开始学习硒几个小时。我有这样的 div 标签

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

如何选择上面的 div 标签并通过 selenium py 代码发送一些文本?(尝试谷歌搜索超过一个小时 - 仍然没有找到方法)这是导致所需 div 标签页面的 python 代码片段。

 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 ?
4

3 回答 3

1

在您的情况下,div标签内有一个iframe. 在 Web Driver 中,如果您想在框架内执行任何操作,则意味着您首先必须进入框架内。

进入框架的代码:

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

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

离开框架的代码:

driver.switch_to_default_content();
于 2013-02-21T06:55:39.400 回答
1

试试这个

driver.find_element_by_xpath("//div[@id='second']//input").send_keys("your Text here");
于 2013-02-21T07:11:56.180 回答
-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()
于 2013-02-21T06:44:33.513 回答