Using Selenium's Python API - How do I get the number of rows in a table?

前端 未结 2 725
萌比男神i
萌比男神i 2021-01-23 19:10

How do I get the number of rows in an HTML table using Selenium\'s Python API?

I\'d have a 2 column table of Keys and Values and I\'d like to read it into a dictionary.

相关标签:
2条回答
  • 2021-01-23 19:44

    from the driver:

    def get_xpath_count(self,xpath):
        """
        Returns the number of nodes that match the specified xpath, eg. "//table" would give
        the number of tables.
    
        'xpath' is the xpath expression to evaluate. do NOT wrap this expression in a 'count()' function; we will do that for you.
        """
        return self.get_number("getXpathCount", [xpath,])
    
    0 讨论(0)
  • 2021-01-23 19:48

    Here is my current work around:

    row = 0
    while browser.is_element_present('//tablename//tr[' + str(row+1) + ']/td[1]'):
        key = browser.get_table('tablename.' + str(row) + '.0')
        value = browser.get_table('tablename.' + str(row) + '.1')
        my_dict[key] = value
        row = row + 1
    

    Notice in the is_element_present() method rows and columns start at 1 versus in get_table() rows and columns start at 0

    0 讨论(0)
提交回复
热议问题