基于 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
浙公网安备 33010602011771号