博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转 python selenium 常见问题列表
阅读量:6411 次
发布时间:2019-06-23

本文共 2486 字,大约阅读时间需要 8 分钟。

怎么用ChromeDriver ?

从这里 最新的driver版本并解压
 
# 好吧,这个命令是给linux or osx用户准备的
# windows用户直接手点吧 by 乙醇
unzip chromedriver_linux32_x.x.x.x.zip
 
 
你会得到一个 chromedriver 的可执行文件. 现在用下面的代码就可以了:
 
driver = webdriver.Chrome(executable_path="/path/to/chromedriver")
# windows如果还不行就把chrome driver扔到python的安装目录下 by乙醇
 
 
Selenium 2支持XPath 2.0吗?
参考: http://seleniumhq.org/docs/03_webdriver.html#how-xpath-works-in-webdriver
 
Selenium把xpath处理委托给了 的xpath解析引擎。所以浏览器支持什么,selenium就支持什么。如果那些奇葩的浏览器没有xpath引擎的话(IE6,7,8),那么在这些大爷上selenium就只支持xpath1.0了。
 
怎样才能滚到页面的底部?
参考: http://blog.varunin.com/2011/08/scrolling-on-pages-using-selenium.html
 
你可以用 execute_script方法来处理这个。 调用原生javascript的API,这样你想滚到哪里就能滚到哪里。
 
下面的代码演示了如何滚到页面的最下面:
 
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
window <http://www.w3schools.com/jsref/obj_window. >对象
的 scrollTo <http://www.w3schools.com/jsref/met_win_scrollto.asp> . 方法可以滚到页面上的任何位置。 scrollHeight <http://www.w3schools.com/jsref/dom_obj_all.asp>是dom元素的通用属性。document.body.scrollHeight 会返回body元素的高度,基本上就是页面的高度了。
 
 
 
如何使用Firefox的profile来自动保存下载的文件
参考: http://stackoverflow.com/questions/1176348/access-to-file-download-dialog-in-firefox
参考: http://blog.codecentric.de/en/2010/07/file-downloads-with-selenium-mission-impossible/
 
首先,你要保存的的文件类型你造么?
要搞清楚要自动下载的文件类型,用 curl就好了
 
curl -I URL | grep "Content-Type"
 
 
另一种方式是使用 requests <http://python-requests.org>_ module, 这样搞:
 
import requests
print requests.head('http://www.python.org').headers['content-type']
 
 
 
 
当你确定了content type之后,调用browser.helperApps.neverAsk.saveToDisk来设置firefox的profile就好了。
 
这是例子:
 
复制代码
import os
 
from selenium import webdriver
 
fp = webdriver.FirefoxProfile()
 
fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.download.dir", os.getcwd())
fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream")
 
browser = webdriver.Firefox(firefox_profile=fp)
browser.get("http://pypi.python.org/pypi/selenium")
browser.find_element_by_partial_link_text("selenium-2").click()
复制代码
 
 
 
 
上例中, application/octet-stream 就是content type。
 
browser.download.dir 指定了文件自动保存的文件夹。
 
如何在打开Firefox的同时打开firebug ?
首先下载Firebug XPI文件(这个就是friefox的扩展程序文件--by乙醇),然后再调用firefox profile的add_extension方法。
 
复制代码
from selenium import webdriver
 
fp = webdriver.FirefoxProfile()
 
fp.add_extension(extension='firebug-1.8.4.xpi')
fp.set_preference("extensions.firebug.currentVersion", "1.8.4") #Avoid startup screen
browser = webdriver.Firefox(firefox_profile=fp)

转载地址:http://jlzra.baihongyu.com/

你可能感兴趣的文章
php debug
查看>>
Ubuntu构建LVS+Keepalived高可用负载均衡集群【生产环境部署】
查看>>
lvm实现快速备份文件及数据库,lvm快照原理
查看>>
设计模式之Factory Method(工厂方法)
查看>>
10K入职linux运维岗位小伙伴感谢信及面试经历分享
查看>>
zookeeper入门之Curator的使用之几种监听器的使用
查看>>
[转]Reporting Service部署之访问权限
查看>>
innerxml and outerxml
查看>>
validform校验框架不显示错误提示
查看>>
flink 获取上传的Jar源码
查看>>
Spring Data JPA Batch Insertion
查看>>
mongodb索引
查看>>
UEditor自动调节宽度
查看>>
JAVA做验证码图片(转自CSDN)
查看>>
Delphi TServerSocket,TClientSocket实现传送文件代码
查看>>
JS无聊之作
查看>>
Mac上搭建ELK
查看>>
443 Chapter7.Planning for High Availability in the Enterprise
查看>>
HttpHandler初探 - 页面上输出图像
查看>>
框架和语言的作用
查看>>