基于 Selenium 的 Python 自动化测试框架 seleniumbase

https://seleniumbase.io/integrations/docker/ReadMe/

https://seleniumbase.io/

from seleniumbase import SB
 
def exec(url='https://pubmed.ncbi.nlm.nih.gov/39627211/'):
    with SB(headless=True) as sb:
        sb.open(url)
        print(f"firt url: {url}")
        # sb.wait_for_element('.heading-title')

        doi_selector1 = '//*[@id="full-view-identifiers"]/li[3]/span/a'
        _doi = sb.get_text(doi_selector1)
        print(_doi)
        # full_text_div = sb.find_elements('//*[@id="full-view-identifiers"]/li[3]/span/a')

        _title = sb.get_text(".heading-title")
        print(f"_title: {_title}")


if __name__ == "__main__":
    exec()

  

制作镜像:

git clone http://github.com/seleniumbase/SeleniumBase.git

cd SeleniumBase

docker build -t seleniumbase .

 

SeleniumBase:功能全面的浏览器自动化框架。该项目是基于 Selenium 的 Python 自动化测试框架,集成了爬虫、自动化测试和生成报告等多种功能。它提供了丰富的示例,并且独特的 UC 模式,可以帮助开发者在进行浏览器自动化操作时避免被检测出来。

from seleniumbase import BaseCase
BaseCase.main(__name__, __file__)

class TestSimpleLogin(BaseCase):
    def test_simple_login(self):
        self.open("seleniumbase.io/simple/login")
        self.type("#username", "demo_user")
        self.type("#password", "secret_pass")
        self.click('a:contains("Sign in")')
        self.assert_exact_text("Welcome!", "h1")
        self.assert_element("img#image1")
        self.highlight("#image1")
        self.click_link("Sign out")
        self.assert_text("signed out", "#top_message")
图片

地址:github.com/seleniumbase/SeleniumBase

posted on 2024-08-29 10:41  我和你并没有不同  阅读(59)  评论(0)    收藏  举报