4. Finds

乙醇 创建于 2 年多 之前

最后更新时间 2018-11-26

webium.find.Finds 方法的用法跟Find方法基本是一致的,不过返回的是WebElement列表。

from selenium.webdriver.common.by import By
from webium import BasePage, Finds

class LinksPage(BasePage):
    links = Finds(by=By.TAG_NAME, value='a')

    def __init__(self):
        super(LinksPage, self).__init__(url='http://itest.info')


if __name__ == '__main__':
    page = LinksPage()
    page.open()
    print('Number of links: ' + str(len(page.links)))

我们甚至可以动态返回满足条件的一组元素。

from selenium.webdriver.common.by import By
from selenium.webdriver.remote.webelement import WebElement
from webium import BasePage, Finds


class Link(WebElement):
    def is_secure(self):
        return self.get_attribute('href').startswith('https://')


class TypedPage(BasePage):
    links = Finds(Link, By.TAG_NAME, 'a')

    def __init__(self):
        super(TypedPage, self).__init__(url='http://itest.info')

    def get_unsecured_links(self):
        return filter(lambda link: not link.is_secure(), self.links)


if __name__ == '__main__':
    page = TypedPage()
    page.open()
    print('Number of unsecured links: ' + str(len(page.get_unsecured_links())))

上一篇: 3. Find下一篇: 5. Containers

我要留言

暂无评论