python - Selenium 很慢,还是我的代码有误?

标签 python selenium http selenium-webdriver ui-automation

所以我尝试使用 Python 登录 Quora,然后抓取一些东西。

我正在使用 Selenium 登录网站。这是我的代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get('http://www.quora.com/')

username = driver.find_element_by_name('email')
password = driver.find_element_by_name('password')

username.send_keys('email')
password.send_keys('password')
password.send_keys(Keys.RETURN)

driver.close()

现在问题:

  1. 找到并填写登录表单大约需要 4 分钟,速度慢得令人痛苦。我可以做些什么来加快这个过程吗?

  2. 当它登录时,我如何确保没有错误?换句话说,我如何检查响应代码?

  3. 如何使用 selenium 保存 cookie,以便在登录后继续抓取数据?

  4. 如果没有办法使 selenium 更快,是否还有其他登录方法? (Quora 没有 API)

最佳答案

我遇到了类似的问题,即使用 ChromeDriver 在 Python selenium 中调用 find_elements_xxx 非常慢。我最终将问题追查到我在 find_element_xxx() 调用之前进行的 driver.implicitly_wait() 调用;当我取出它时,我的 find_element_xxx() 调用运行得很快。

现在,当我执行 find_elements_xxx() 调用时,我知道那些元素在那里。所以我无法想象为什么 implicit_wait 会影响这些操作的速度,但它确实影响了。

关于python - Selenium 很慢,还是我的代码有误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17462884/

相关文章:

http - 生成组织 IP 地址范围数据

php - 对 HTTP Post 请求采取操作

python - 如何将日期偏移到月初?

python - 将自定义主题/代码应用于 CKAN 扩展

python - Selenium Webdriver with Python - 获取 html 标签之间的字符串或内容

php - 带标题下载的文件不起作用

python - 使用iterator和re python提取特定信息

python - 在朴素贝叶斯实现中很难获得正确的后验值

java - 在网页中找不到定位器(Xpath,Css)

Python单元测试: How to initialize selenium in a class and avoid having the browser opening twice?