我对Selenium和Python都是新手。我想airCanada.ca使用Selenium,Python,Chrome浏览器和Chrome驱动程序从旅游网站www.example.com中获取一些信息。当我尝试使用Selenium加载一个示例页面时,页面永远挂起,永远不会加载。当我直接将相同的URL复制到浏览器中时,页面加载没有任何问题。我也试过类似的加载其他一些旅游网站,如Kayak,但没有问题加载这些网页。可能有一个明显的解决方案,但我不知道下一步会是什么。下面是一个示例代码片段:
SAMPLE_URL = "https://www.aircanada.com/aeroplan/redeem/availability/outbound?org0=YTO&dest0=LGA&departureDate0=2023-11-01&lang=en-CA&tripType=O&ADT=1&YTH=0&CHD=0&INF=0&INS=0&marketCode=TNB"
os.environ['PATH'] +=r";C:/SeleniumDrivers/chromedriver-win64/"
driver = webdriver.Chrome()
driver.implicitly_wait(30)
driver.get(SAMPLE_URL)
time.sleep(20)
我的浏览器和驱动程序都是最新的。我也尝试过使用微软Edge浏览器和驱动程序,但我遇到了同样的问题。
2条答案
按热度按时间svujldwt1#
本网站包含反报废机制。
要传递它,可以尝试使用
Undetected Chromedriver
。它是一个可以绕过大多数反报废方法的驱动程序,如Cloudflare等。
Reference
mm5n2pyu2#
您可以在
uc
模式下使用https://github.com/seleniumbase/SeleniumBase来绕过网站上的防 selenium 脚本。pip install seleniumbase
,然后运行python
:它会关闭弹出窗口,然后打印出详细的航班搜索细节。(注意seleniumbase
driver
比标准seleniumdriver
有更多的方法)