将 seleniumbase 与现有的 selenium 脚本集成

问题描述 投票:0回答:1

我一直在使用 selenium 访问一个采用反机器人保护的网站。我发现了 SeleniumBase 并发现它解决了我的问题。最初我想我可以使用 SeleniumBase 来解决这个问题,然后恢复到我的 selenium 来完成活动。这将为我节省大量重新编码的时间。但是,我在将 selenium 活动与前面的 SeleniumBase 语句同步时遇到问题。我收到很多捕获不从 BaseException 继承的类不允许的错误消息,并且在通过 css 选择器和 xpath 查找元素时也遇到问题。我已经使用硒很多年了,所以我很擅长获取这些信息。

我可以去哪里查看代码或文档,以帮助我实现以合作方式集成和使用这两个库的愿望。

提前致谢

selenium-webdriver seleniumbase coexistence
1个回答
0
投票

可以在此处找到不同 SeleniumBase 格式的文档: SeleniumBase/help_docs/syntax_formats.md

SeleniumBase

driver
包括原始
driver
方法,以及新方法(包括一些针对 UC 模式的特殊方法)。

这是直接从

driver
使用的格式:

from seleniumbase import Driver

driver = Driver(uc=True)
try:
    driver.open("https://seleniumbase.io/simple/login")
    driver.type("#username", "demo_user")
    driver.type("#password", "secret_pass")
    driver.click('a:contains("Sign in")')
    driver.assert_exact_text("Welcome!", "h1")
    driver.assert_element("img#image1")
    driver.highlight("#image1")
    driver.click_link("Sign out")
    driver.assert_text("signed out", "#top_message")
finally:
    driver.quit()

以下是专门为 UC 模式添加的一些驱动方法:

driver.uc_open(url)
driver.uc_open_with_tab(url)
driver.uc_open_with_reconnect(url, reconnect_time=None)
driver.reconnect(timeout)
driver.uc_click(selector)
driver.uc_switch_to_frame(frame)
© www.soinside.com 2019 - 2024. All rights reserved.