python3 selenium使用
Posted 大黑马
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3 selenium使用相关的知识,希望对你有一定的参考价值。
其实这个就相当于模拟人的点击事件来连续的访问浏览器。如果你玩过王者荣耀的话在2016年一月份的版本里面就有一个bug。
安卓手机下载一个按键精灵就可以在冒险模式里面设置按键,让手机自动玩闯关,一局19个金币,一晚上就一个英雄了。不过
程序员也不是吃素的。给一个星期设置了大概4000金币上限。有兴趣的可以去试试。(注:手机需要root)
进入正题:
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.wait import WebDriverWait
在写之前需要下载selenium模块
brguge=webdriver.Chrome()#声明驱动对象 try: brguge.get(‘https://www.baidu.com‘)#发送get请求 input=brguge.find_element_by_id(‘kw‘)#找到目标 input.send_keys(‘python‘)#输入python关键字 input.send_keys(Keys.ENTER)#敲入回车 wait=WebDriverWait(brguge,10)#等待元素加载出来 wait.until(EC.presence_of_element_located(By.ID,‘content_left‘))#加载 print(brguge.current_url)#输出搜索的路径 print(brguge.get_cookie())#输出cookie print(brguge.page_source)#输出结果源代码 finally: brguge.close()#关闭谷歌浏览器
下面是一些selenium模块的基本用法
查找元素
单个元素 (from selenium import webdriver)
brguge.find_element_by_id(‘q‘)用这个元素找id是q的元素
brguge.find_element_by_css_selector(‘#q‘)找css样式是q的
brguge.find_element_by_xpath(‘//*[ @id="q"]‘)三个效果一样
brguge.find_element_by_name()通过name来查找
brguge.find_element_by_link_text()通过link来查找
brguge.find_element_by_partial_link_text()
brguge.find_element_by_tag_name()
brguge.find_element_by_class_name()通过class查找
from selenium import webdriver
from selenium.webdriver.common.by import By
brguge.find_element(By.ID,‘Q‘)通用查找方式
多个元素(find_elements)加了个s
他会以列表的形式打印出来
brguge.find_elements_by_css_selector(‘.service-bd li‘)css样式为li的元素
brguge.find_elements(By.css_selector,‘.service-bd li‘)两个作用一样
(利用索引就可以获取单个或多个元素了)
元素交互操作(获取元素然后再给他指令)
选择输入框 --》send_keys(‘输入文字‘)--》clear()清空输入框--在输入别的--》找到搜索--》click(点击)
input.clear()清空按钮
交互动作(将动作附加到动作链中串行执行)
switch_to_frame(‘iframeResult‘)
用css样式分别找到两个要交互
调用ActionChains(调用谷歌的)
drag_and_drop(source,target)第一个到第二个上面
perform()
以上是关于python3 selenium使用的主要内容,如果未能解决你的问题,请参考以下文章
Python3 使用selenium库登陆知乎并保存cookie为本地文件
Selenium Xpath元素无法定位 NoSuchElementException: Message: no such element: Unable to locate element(代码片段