系统无法第二次找到该元素

时间:2014-11-04 18:16:22

标签: python selenium xpath

enter image description here enter image description here我的代码尝试做的是找到一组元素,然后单击显示工具提示消息的每个元素。单击tootip消息中的链接,该链接将用户带到另一个页面,然后在那里执行一些活动并导航回上一页,然后单击第二个元素,然后单击第二个元素的工具提示消息中的链接。

由于某些原因,我的代码只是第二次单击工具提示消息中的链接。下次无法在工具提示消息中找到要点击的链接。请有人请帮忙吗?我尝试了不同的东西,但没有任何效果。请在下面找到我写的代码:

我正在使用Python和Selenium

  elements = driver.find_elements_by_css_selector("#top-tables-chart-container > div > svg > g > g > rect")
  counter = 0
  for counter in range(counter, len(elements)):
          elements = driver.find_elements_by_css_selector("#top-tables-chart-container > div > svg > g > g > rect")
          webdriver.ActionChains(driver).move_to_element(elements[counter]).click().perform()
          time.sleep(5)
          tableNameLink= elements[counter].find_element_by_xpath("//div[@class='d3-tip bar-chart top-tables-tooltip n']//div[@class='left-section']//div[@class='table-name']//a[contains(@href,'#/table/')]")
          print tableNameLink
          tableNameLink.click()
          tableName = driver.find_element_by_xpath("//div[@class='discover-design-transform-container clearfix']//div[@class='left-header-section clearfix']//div[@class='entity-info table-type']//span[@class='entity-identifier']")
          table = tableName.text
          print " Table: " + table
          print '\n'

          if table == "lineitem":
            TableAccessFreqChartInfoBadgesValidation(self.driver).test_table_access_freq_chart_info_badges_validation("F","8","13","13")
            time.sleep(1)
            print '\n'

          if table == "orders":
              TableAccessFreqChartInfoBadgesValidation(self.driver).test_table_access_freq_chart_info_badges_validation("D","4","9","9")
              time.sleep(1)
              print '\n'
  topUsagePatternsTab = driver.find_element_by_xpath("//div[@id='workload-level-tabs']//a[@href='#/topUsagePatterns']")
  topUsagePatternsTab.click()

0 个答案:

没有答案