我正在使用selenium-4.1.0
,并且正在搜索尽可能轻的网络驱动程序(出于速度目的(
我听说过HtmlUnitDriver
,但在使用python时,在尝试使用驱动程序之前,我需要运行selenium服务器。我很小心地选择了与我的selenium版本相对应的版本(此处提供(,并且我完全遵循了使其工作的步骤;但事实并非如此。
运行java -jar selenium-server-4.1.0.jar standalone
(在localhost:4444上运行(后:
我试过了:
from selenium import webdriver
driver = webdriver.Remote(
command_executor='http://localhost:4444/wd/hub', # I also tried with 'http://localhost:4444', and without 'command_executor' keyword
desired_capabilities=webdriver.DesiredCapabilities.HTMLUNITWITHJS
)
driver.get('http://www.google.com')
我得到了以下错误:
DeprecationWarning: desired_capabilities has been deprecated, please pass in an Options object with options kwarg
driver = webdriver.Remote(
所以我把代码改成:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.headless = True
wd = webdriver.Remote('http://localhost:4444/wd/hub', options=options)
wd.get('http://www.google.com')
wd.save_screenshot('screenshot.png')
它起了作用(我得到了屏幕截图(,但后来我不再使用HtmlUnit
有人知道哪里出了问题吗?和/或我能做些什么来让它发挥作用吗?
在python库中,selenium最好是截图。在下面的代码中,我保持URL滚动,如果你需要的话,你也可以不离开它。
在这个你想检查铬版本和安装铬驱动程序。我的chrome版本是96.0.4664.110下载该驱动程序并安装
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = webdriver.ChromeOptions()
options.headless = True
driver = webdriver.Chrome(options=options)
URL = "D:watermark"
driver.get(URL)
S = lambda X: driver.execute_script('return
document.body.parentNode.scroll'+X)
driver.set_window_size(S('Width'),S('Height')) # May need manual adjustment
#time.sleep(60)
driver.find_element_by_tag_name('body').screenshot('web_screenshot.png')
driver.quit()