我有两个项目,一个使用Selenium,另一个使用Selenium,它符合spider程序格式,但使用Selenium实现自动化。
我可以让Chromedriver加载我想要的基本Selenium程序的页面,但是关于第二个项目(使用Scrapy)的一些内容阻止了它加载URL。相反,它只能在地址栏中显示数据:、。
第一个项目(工作良好):
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome(executable_path="./chromedriver")
driver.get("https://ricemedia.co")第二个项目(不加载页面):
import scrapy
from scrapy_selenium import SeleniumRequest
from selenium import webdriver
import time
class ExampleSpider(scrapy.Spider):
name = 'rice'
def start_requests(self):
yield SeleniumRequest(
url="https://ricemedia.co",
wait_time=3,
callback=self.parse
)
def parse(self, response):
driver = webdriver.Chrome(executable_path="./chromedriver")
driver.maximize_window()
time.sleep(20)我浏览过StackOverflow和Google,最常见的两个原因是Chrome驱动程序过时和网址中缺少http。对我来说也不是这样。到chromedriver的路径看起来也不错(这两个项目在同一个文件夹中,还有相同的chromedriver)。因为其中一种有效,而另一种则不起作用,所以它应该与我的Scrapy-Selenium蜘蛛有关。
我应该补充一点,我已经在我的虚拟环境中本地安装了Scrapy、Selenium和Selenium,我怀疑这是一个安装问题。
帮帮忙,谢谢!
发布于 2022-04-25 20:40:41
您可以使用另一种方法安装铬驱动程序:首先,使用下面的pip install webdriver-manager安装Webdriver,或者使用maven dep获取它
然后编码:
# selenium 3
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())https://stackoverflow.com/questions/72005134
复制相似问题