webdriver

selenium 常见操作,js操作-将元素滚动到页面可见区域

删除回忆录丶 提交于 2020-01-21 23:16:49
  我们在自动化测试中,会遇到需要把浏览器页面的元素移动到可见区域,就需要使用页面向上或者向下滚动 js操作-滚动条:使用: selenium 当中使用 execute_script (译:埃克斯Q特。思怪泼特) 方法 执行 js 语句; 页面元素滚动到可见区域常用的操作: 1、 移动到元素element对象的“底端”与当前窗口的“底部”对齐: driver.execute_script("arguments[0].scrollIntoView(false);",element) 2、移动到元素element对象的“顶端”与当前窗口的“顶部”对齐 : driver.execute_script("arguments[0].scrollIntoView();",element) 3、移动到页面底部: driver.execute_script("window.scrollTo(0,document.body.scrollHeight)") 4、移动到页面顶部: driver.execute_script("window.scrollTo(document.body.scrollHeight,0)") 将元素滚动到可见区域 :百度查询“电脑”,将“电脑_百度百科”移动到底部。 1、需要滚动的对象:先定位元素 2、js的滚动语句: 上面的四种方法 from selenium import

Can't send keys selenium webdriver python

元气小坏坏 提交于 2020-01-21 22:26:13
问题 Trying to execute simple test from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Firefox() driver.get('http://google.com') driver.find_element_by_name('q') driver.send_keys('hey') And getting the error Traceback (most recent call last): File "C:/webdriver/test.py", line 8, in <module> driver.send_keys('hey') AttributeError: 'WebDriver' object has no attribute 'send_keys' What's the problem? 回答1: WebDriver instance does not have send_keys() method

selenium 常见操作,使用 Keys 类来进行键盘的按键操作

落爺英雄遲暮 提交于 2020-01-21 16:09:45
  在平常我们使用百度查询时一般会使用 回车键(enter) Keys 类里面的常用方法行为: 回车键:Keys.ENTER 删除键:Keys.BACK_SPACE 空格键:Keys.SPACE 回退键:Keys.ESCAPE 刷新键:Keys.F5 键盘操作需要引入: from selenium.webdriver.common.keys import Keys 示例:我们就以百度查询,按回车为例 from selenium import webdriver import time from selenium.webdriver.common.keys import Keys # 键盘操作需要导入keys driver = webdriver.Chrome() # 访问百度首页 driver.get("http://www.baidu.com") # 输入电脑,按 回车键 driver.find_element_by_id("kw").send_keys("电脑", Keys.ENTER) # 等待五秒,关闭浏览器 time.sleep(5) driver.quit() *******请大家尊重原创,如要转载,请注明出处: 转载自:https://www.cnblogs.com/shouhu/ ,谢谢!!******* 来源: https://www.cnblogs.com

python爬取笔趣阁小说

一笑奈何 提交于 2020-01-21 09:36:56
下午打开手机,无意间看到了被我搁在角落的起点小说,。。想起来好久都没看小说了,之前在看净无痕的新作品《伏天氏》,之前充起点币看了大概两百章左右,现在已经更到800+章了,直接充起点币有点舍不得。。。 想起之前自学爬虫在笔趣阁测试爬小说,所以。。。 那就再来爬一波《伏天氏》。。。 结构分析: 1.目录页面: https://www.qu.la/book/2125/ 可以看到目录全都放在一个id为list的盒子了,直接用Xpath来选择这一部分就好了,然后把章节名和url保存,方便后面的使用: 关键语句如下: # Xpath筛选 results = driver.find_elements_by_xpath("//div[contains(@id,'list')]//dl//dd//a") for result in results: res_url = result.get_attribute('href') # url res_tit = result.text # 章节标题 2.章节页面 随机分析一个: https://www.qu.la/book/2125/10580853.html ok 文章依旧放在一个id是content的盒子里,继续Xpath 关键语句: driver.get(url) content = driver.find_element_by_xpath("/

selenium常见问题

家住魔仙堡 提交于 2020-01-21 04:32:57
基本操作 from selenium import webdriver browser = webdriver.Chrome(executable_path='chromedriver.exe') # 声明一个浏览器对象 指定使用chromedriver.exe路径 browser.get("https://www.baidu.com") # 打开Chrome input = browser.find_element_by_id("kw") # 通过id定位到input框 input.send_keys("python") # 在输入框内输入python print(browser.current_url) # 打印url print(browser.get_cookies()) # 打印Cookies print(browser.page_source) # 打印网页源代码 browser.close() # 关闭浏览器 获取单节点 from selenium import webdriver browser = webdriver.Chrome() browser.get("https://www.taobao.com") # 找到搜索框 input_id = browser.find_element_by_id("q") # 通过id找 input_name =

ActionChains类鼠标操作的常用方法

天涯浪子 提交于 2020-01-20 10:10:43
1.context_click() 鼠标右击 2.double_click() 鼠标双击 3.drag_and_drop() 鼠标拖动 4.move_to_element() 鼠标悬停在一个元素上 5.click_and_hold() 按下鼠标左键在一个元素上,release()释放 1.context_click()鼠标右击 1 #-*-coding:utf-8-*- 2 from selenium import webdriver 3 from selenium.webdriver.common.action_chains import ActionChains 4 driver = webdriver.Chrome() 5 driver.maximize_window() 6 driver.get("http://www.baidu.com") 7 element = driver.find_element_by_link_text('hao123') 8 ActionChains(driver).context_click(element).perform() 2.double_click()鼠标双击 1 #-*-coding:utf-8-*- 2 from selenium import webdriver 3 from selenium.webdriver.common

webdriver浏览器版本驱动对应以及下载(火狐-谷歌-IE浏览器)

穿精又带淫゛_ 提交于 2020-01-20 09:06:31
1.谷歌浏览器: 对于chrome浏览器,有时候会有闪退的情况,有时候也许是版本冲突的问题,我们要对照着这个表来对照查看是不是webdriver和chrome版本不对应 点击下载chrome的webdriver: http://chromedriver.storage.googleapis.com/index.html 2.火狐浏览器 对于火狐浏览器,对应的driver只能兼容47版本一下的, 这里把低版本的火狐安装包和driver地址如下 链接:http://pan.baidu.com/s/1bECua6 密码:nkue 3.IE浏览器 ie浏览器的版本对应这个并没有找到具体所对应的版本,不过据我实测的结果, 一般用2.5版本 比较好一些(ie11) 我们通过这个地址来下载: http://selenium-release.storage.googleapis.com/index.html 除此之外,还要通过:工具> internet选项>安全 在里面如图的四个选项,把保护模式设置为全部勾选或者全部不勾选 来源: https://www.cnblogs.com/CCGGAAG/p/7800330.html

selenium+Python(cookie处理)

旧城冷巷雨未停 提交于 2020-01-20 07:30:05
cookie 处理 本节重点: driver.get_cookies() 获得 cookie 信息 add_cookie(cookie_dict) 向 cookie 添加会话信息 delete_cookie(name) 删除特定(部分)的 cookie delete_all_cookies() 删除所有 cookie cookie是webdriver 中已向重要操作,有时候我们需要了解浏览器中,例如: 是否存在了某个 cookie 信息,webdriver 可以帮助我们读取、添加,删除 cookie 信息。 通过博客园登陆来分析 cookie #coding=utf-8 from selenium import webdriver import time driver = webdriver.Firefox() driver.get("http://passport.cnblogs.com/login.aspx?ReturnUrl=http://www.cnblogs.com/fnng/admin/EditPosts.aspx") time.sleep(3) driver.maximize_window() # 浏览器全屏显示 #通过用户名密码登陆 driver.find_element_by_id("tbUserName").send_keys("fnngj") driver

How can I get the current contents of an element in webdriver

一世执手 提交于 2020-01-19 19:03:14
问题 I must be thinking about this wrong. I want to get the contents of an element, in this case a formfield, on a page that I am accessing with Webdriver/Selenium 2 Here is my broken code: Element=driver.find_element_by_id(ElementID) print Element print Element.text here is the result: <selenium.webdriver.remote.webelement.WebElement object at 0x9c2392c> (Notice the blank line) I know that element has contents since I just stuffed them in there with the previous command using .sendkeys and I can

selenium webdriver从安装到使用(python语言),显示等待和隐性等待用法,切换窗口或者frame,弹框处理,下拉菜单处理,模拟鼠标键盘操作等

久未见 提交于 2020-01-19 18:24:51
selenium 的用法 selenium2.0 主要包含 selenium IDE 和 selenium webDriver , IDE 有点类似 QTP 和 LoadRunner 的录制功能,就是 firefox 浏览器的一个插件,用来录制在浏览器的一系列操作,录制完成后可以回放,可以转换为代码输出出来。本节主要讲的是 selenium 的 webdriver 功能。结合 Python 语言来讲解具体用法。 WebDriver 的实现原理: WebDriver 直接利用了浏览器的内部接口来操作浏览器。 对于不同平台中的不同浏览器,必须依赖浏览器内部的 Native Component ( 原生组件 ) 来实现把对 WebDriver API 调用转化为对浏览器内部接口的调用。 Selenium 1.0 采用 JavaScript 的合成事件来处理网页元素的操作,例如要单击某个页面元素,要先使用 JavaScript 定位到这个元素,然后触发单击事件。 而 WebDriver 使用的是系统的内部接口或函数,首先是找到这个元素的坐标位置,并在这个坐标点触发一个鼠标左键的单击操作。 环境配置 在使用之前,首先要将用到的环境配置好,这里主要需要两个环境,一个是 selenium 库,是一个第三方库,用 pip install selenium 安装即可,或者可以去 pypi