简介
对于动态页面,登录等场景。可以使用selenium
获取到需要的信息
selenium
可以模拟点击,下拉,鼠标,键盘等的操作
安装
selenium
直接使用pip
安装即可:pip install selenium
ChromeDriver
-
ChromeDriver
的版本一定要与Chrome
的版本一致,不然就不起作用 -
首先需要查看你的
Chrome
版本,在浏览器中输入chrome://version/
即可看到 -
到 http://chromedriver.storage.googleapis.com/index.html 或者 https://npm.taobao.org/mirrors/chromedriver/ 下载对应的版本
-
将下载好的
chromedriver.exe
复制到python安装目录/Scripts/
目录下 -
在安装
python
的时候,应该就已经设置好了环境变量。如果没有,将python安装目录/Scripts/
添加到用户变量的PATH
中
测试
- 编写测试文件
test.py
from selenium import webdriver
import time
def main():
browser = webdriver.Chrome()
# 如果没有配置好环境变量,可以这么使用
# browser = webdriver.Chrome(executable_path='D:\chrome\chromedriver.exe')
browser.get('https://www.baidu.com')
time.sleep(2)
b.close()
if __name__ == '__main__':
main()
- 运行该文件
python test.py
,能自动打开Chrome
浏览器
常用命令
browser = webdriver.Chrome()
:表示创建一个chrome
对象,会在电脑上打开浏览器browser.get('https://www.baidu.com')
:get
方法表示请求一个页面browser.page_source
:获取的页面源代码browser.close()
:关闭浏览器browser.set_window_size(1400,800)
:设置浏览器的大小browser.refresh()
:刷新浏览器browser.back()
:后退browser.forward()
:前进browser.execute_script('window.scrollTo(100,450);')
:执行js
代码browser.get_cookies()
:获取cookies
browser.add_cookie({ 'name': 'wmm', 'value': '123' })
:添加cookie
browser.delete_cookie('wmm')
:删除一个cookie
browser.delete_all_cookies()
:删除所有cookie
WebElement方法
这个类代表HTML
页面元素
id_
:当前元素的IDsize
:获取元素大小text
:获取该元素的文本title
:获取当前页面的title
current_url
:获取当前页面的url
location
:获取元素的相对位置tag_name
:获取元素标签名的属性click()
:单击(点击)元素submit()
:提交表单clear()
:清除一个文本输入元素的文本get_attribute(name)
:获得属性值。比如获取class
,即get_attribute('class')
s_selected(self)
:元素是否被选择is_enabled()
:元素是否被启用find_element_by_id(id_)
:查找元素的id
find_elements_by_id(id_)
:查找元素的id
find_element_by_name(name)
:查找元素的name
find_elements_by_name(name)
:查找元素的name
find_element_by_link_text(link_text)
:查找元素的链接文本find_elements_by_link_text(link_text)
:查找元素的链接文本find_element_by_partial_link_text(link_text)
:查找元素的链接的部分文本find_elements_by_partial_link_text(link_text)
:查找元素的链接的部分文本find_element_by_tag_name(name)
:查找元素的标签名find_elements_by_tag_name(name)
:查找元素的标签名find_element_by_xpath(xpath)
:查找元素的xpath
find_elements_by_xpath(xpath)
:查找元素内的子元素的xpath
find_element_by_class_name(name)
:查找一个元素的类名find_elements_by_class_name(name)
:查找元素的类名find_element_by_css_selector(css_selector)
:查找并返回一个元素的CSS
选择器find_elements_by_css_selector(css_selector)
:查找并返回多个元素的CSS
选择器列表send_keys(*value)
:模拟输入元素
发表评论