开发者

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

开发者 https://www.devze.com 2023-02-08 20:55 出处:网络
How do I get the number of rows in an HTML table using Selenium\'s P开发者_如何学Cython API? I\'d have a 2 column table of Keys and Values and I\'d like to read it into a dictionary. Something like:

How do I get the number of rows in an HTML table using Selenium's P开发者_如何学Cython API?

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

browser = Selenium(...)
...
rows = ? (this is what I need)
for r = range(row):
    key = browser.get_table('tablename.' + r + '.0')
    value = browser.get_table('tablename.' + r + '.1')
    my_dict[key] = value

thanks, jamie


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,])


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

精彩评论

暂无评论...
验证码 换一张
取 消