我一直在使用 selenium 访问一个采用反机器人保护的网站。我发现了 SeleniumBase 并发现它解决了我的问题。最初我想我可以使用 SeleniumBase 来解决这个问题,然后恢复到我的 selenium 来完成活动。这将为我节省大量重新编码的时间。但是,我在将 selenium 活动与前面的 SeleniumBase 语句同步时遇到问题。我收到很多捕获不从 BaseException 继承的类不允许的错误消息,并且在通过 css 选择器和 xpath 查找元素时也遇到问题。我已经使用硒很多年了,所以我很擅长获取这些信息。
我可以去哪里查看代码或文档,以帮助我实现以合作方式集成和使用这两个库的愿望。
提前致谢
可以在此处找到不同 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)