Selenium webdriver无法完全加载页面(python)
我一直在使用SeleniumWebDriver和python,试图登录到这个网站 为此,我在python中执行了以下操作:Selenium webdriver无法完全加载页面(python),python,python-3.x,selenium-webdriver,selenium-chromedriver,Python,Python 3.x,Selenium Webdriver,Selenium Chromedriver,我一直在使用SeleniumWebDriver和python,试图登录到这个网站 为此,我在python中执行了以下操作: from selenium import webdriver import bs4 as bs driver = webdriver.Chrome() driver.get('https://app.chatra.io/') 然后,我尝试使用Beautiful Soup进行解析: html = driver.execute_script('return docume
from selenium import webdriver
import bs4 as bs
driver = webdriver.Chrome()
driver.get('https://app.chatra.io/')
然后,我尝试使用Beautiful Soup进行解析:
html = driver.execute_script('return document.documentElement.outerHTML')
soup = bs.BeautifulSoup(html, 'html.parser')
print(soup.prettify)
主要问题是页面从未完全加载。当我自己在浏览器中加载页面时,一切正常。然而,当SeleniumWebDriver尝试加载它时,它似乎中途停止
知道为什么吗?有没有关于如何修复它或在哪里学习的想法?首先,我也可以在最新的Chrome中重现这个问题(使用
chromedriver
2.34-目前也是最新的)-目前还不确定发生了什么。解决方法:Firefox非常适合我
并且,我会在
driver.get()
和HTML解析之间添加一个额外的步骤,以便让页面正确加载,直到所需的条件为真:
import bs4 as bs
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Firefox()
driver.get('https://app.chatra.io/')
wait = WebDriverWait(driver, 10)
wait.until(EC.visibility_of_element_located((By.ID, "signin-email")))
html = driver.execute_script('return document.documentElement.outerHTML')
soup = bs.BeautifulSoup(html, 'html.parser')
print(soup.prettify())
请注意,您还需要调用
prettify()
-这是一种方法。您面临的问题有以下几个方面:
- 当您试图获得
的帮助时,如果您试图从urlib.request使用urlopen,则错误会说明一切:BeautifulSoup
这意味着检测到urllib.request,并引发urllib.error.HTTPError: HTTP Error 403: Forbidden
。因此,使用selenium中的HTTP错误403:probled
是有意义的 - 接下来,当您使用
和ChromeDriver
时,最初Chrome
网站将打开并呈现。但是很快,
被检测为ChromeDriver
,并且
无法解析ChromeDriver
标记。您可以看到最小标头为:
控制台输出:<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" class="supports cssfilters flexwrap chrome webkit win hover web"></html>
<html class="supports cssfilters flexwrap firefox gecko win hover web"><head> <link class="" href="https://app.chatra.io/b281cc6b75916e26b334b5a05913e3eb18fd3a4d.css?meteor_css_resource=true&_g_app_v_=51" rel="stylesheet" type="text/css"/> <meta charset="utf-8"/> <meta content="IE=edge" http-equiv="X-UA-Compatible"/> <meta content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, viewport-fit=cover" name="viewport"/> . . . <em>··· Chatra</em> . . . </div></body></html>
控制台输出:<bound method Tag.prettify of <html class="supports cssfilters flexwrap firefox gecko win hover web"><head> <link class="" href="https://app.chatra.io/b281cc6b75916e26b334b5a05913e3eb18fd3a4d.css?meteor_css_resource=true&_g_app_v_=51" rel="stylesheet" type="text/css"/> <meta charset="utf-8"/> <meta content="IE=edge" http-equiv="X-UA-Compatible"/> <meta content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, viewport-fit=cover" name="viewport"/> . . . <em>··· Chatra</em> . . . </div></body></html>>
<html class="supports cssfilters flexwrap firefox gecko win hover web"><head> <link class="" href="https://app.chatra.io/b281cc6b75916e26b334b5a05913e3eb18fd3a4d.css?meteor_css_resource=true&_g_app_v_=51" rel="stylesheet" type="text/css"/> <meta charset="utf-8"/> <meta content="IE=edge" http-equiv="X-UA-Compatible"/> <meta content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, viewport-fit=cover" name="viewport"/> . . . <em>··· Chatra</em> . . . </div></body></html>
控制台输出:<bound method Tag.prettify of <html class="supports cssfilters flexwrap firefox gecko win hover web"><head> <link class="" href="https://app.chatra.io/b281cc6b75916e26b334b5a05913e3eb18fd3a4d.css?meteor_css_resource=true&_g_app_v_=51" rel="stylesheet" type="text/css"/> <meta charset="utf-8"/> <meta content="IE=edge" http-equiv="X-UA-Compatible"/> <meta content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, viewport-fit=cover" name="viewport"/> . . . <em>··· Chatra</em> . . . </div></body></html>>
<html class="supports cssfilters flexwrap firefox gecko win hover web"><head>
<link class="" href="https://app.chatra.io/b281cc6b75916e26b334b5a05913e3eb18fd3a4d.css?meteor_css_resource=true&_g_app_v_=51" rel="stylesheet" type="text/css"/>
<meta charset="utf-8"/>
<meta content="IE=edge" http-equiv="X-UA-Compatible"/>
<meta content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, viewport-fit=cover" name="viewport"/>
.
.
.
<em>··· Chatra</em>
.
.
.
</div></body></html>
<bound method Tag.prettify of <html class="supports cssfilters flexwrap firefox gecko win hover web"><head>
<link class="" href="https://app.chatra.io/b281cc6b75916e26b334b5a05913e3eb18fd3a4d.css?meteor_css_resource=true&_g_app_v_=51" rel="stylesheet" type="text/css"/>
<meta charset="utf-8"/>
<meta content="IE=edge" http-equiv="X-UA-Compatible"/>
<meta content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, viewport-fit=cover" name="viewport"/>
.
.
.
<em>··· Chatra</em>
.
.
.
</div></body></html>>
···查特拉
身体{
背景:#f6f5f7
}
···查特拉