webdriver能获取 新打开的页面么

webdriver能获取 新打开的页面么,第1张

webdriver能获取 新打开的页面。

WebDriver 允许你通过模拟用户交互来自动执行 Microsoft Edge。 使用 WebDriver 的测试相比于在浏览器中运行的 JavaScript 单元测试有一些优势。

目录

安装 selenium 第三方库

下载浏览器驱动:

需要把这些浏览器驱动放入 Python 应用目录里面的 Script 文件夹里面

① 200 多本 Python 电子书(和经典的书籍)应该有

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且可靠的练手项目及源码)

④ Python基础入门、爬虫、网络开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

私信我01即可获取大量Python学习资源

每次当selenium启动chrome浏览器的时候,chrome浏览器很干净,没有插件、没有收藏、没有 历史 记录,这是因为selenium在启动chrome时为了保证最快的运行效率,启动了一个裸浏览器,这就是为什么需要配置参数的原因,但是有些时候我们需要的不仅是一个裸浏览器

selenium启动配置参数接收是ChromeOptions类,创建方式如下 :

创建了ChromeOptions类之后就是添加参数,添加参数有几个特定的方法,分别对应添加不同类型的配置项目

常用配置参数:

其他配置项目参数

制作无头浏览器

规避检测

门户网站检测如果是selenium请求的,有可能会拒绝访问。这也是一种反爬机制

实现规避检测

注意:这里只能使用 options 添加

如果有其他的模块要添加,注意要分开添加

元素定位语法

常用语法:

在 element 变成 elements 时,返回符合条件的所有元素组成的数组

控制浏览器大小

浏览器后退,前进

刷新

在搜索框模拟回车 *** 作

在 WebDriver 中, 将这些关于鼠标 *** 作的方法封装在 ActionChains 类提供

ActionChains 类提供了鼠标 *** 作的常用方法:

语法:

想使用selenium中的键盘事件,首先我们必须导入Keys包,需要注意的是包名称Keys首字母需要大写。Keys类中提供了几乎所有的键盘事件包括组合按键如 Ctrl+A、 Ctrl+C 等

使用语法:

其他事件可以通过查看源码获取

显式等待使WebdDriver等待某个条件成立时继续执行,否则在达到最大时长时抛出超时异常

实例:

WebDriverWait类是由WebDirver 提供的等待方法。在设置时间内,默认每隔一段时间检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常

语法:

参数:

如果某些元素不是立即可用的,隐式等待是告诉WebDriver去等待一定的时间后去查找元素。 默认等待时间是0秒,一旦设置该值,隐式等待是设置该WebDriver的实例的生命周期

案例

语法:

alert 里面的方法

WebDriver *** 作cookie的方法:

参考链接: >

查到Remote_connection 里面的exceute方法中,链接url的response 报错 404。 猜测是在跳转到支付页面时,先断开之前的链接,再去请求支付的链接,而断开时,请求的链接就会返回404  

解决方法:可以先用timesleep 等待几秒钟去链接新的页面,然后再用 driverimplicitly_wait 方法就可以了

将获取元素和动作拆分开来

解决方法如下:

getcode = driverfind_element_by_id("commingyuandwinmall:id/btn_get_code")

timesleep(50)

getcodeclick()

电脑关机,然后在开机时按住  command  +  R 键 ,直到出现苹果 logo 和进度条时松开,进入OS X恢复模式。在终端输入命令csrutil disable,然后关闭终端。进入恢复模式后打开 实用工具 —— 终端

mv: rename chromedriver to /usr/bin/chromedriver: Read-only file system

然后百度的时候我又找到这样的一篇文章,参考类似的问题,我试着直接执行如下命令挂载写入权限

sudo mount -uw /这时候再试一次sudo mv chromedriver /usr/bin

ele = driverfind_element_by_xpath ("//p[@class='comment-form-rating-btn']/button" )# star

webdriverActionChains ( driver )move_to_element ( ele )click ( ele )perform ()

解决方法:切换到最后一个窗口

windows =selfdriverwindow_handles

selfdriverswitch_towindow (-1)

6'list' object has no attribute 'click'

将”driverfind_elements_by_xpath“改为“driverfind_element_by_xpath”即可解决。

以上就是关于webdriver能获取 新打开的页面么全部的内容,包括:webdriver能获取 新打开的页面么、关于Python的Selenium框架全解,一篇完整的说明书、Selenium 报错问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9827673.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存