一、关于浏览器及驱动安装和配置的问题:以edge浏览器为例
1.1首先edge浏览器需要先查看浏览器的对应版本,这个很简单,略过
1. 2去这个网站下载对应版本的驱动,
Microsoft Edge WebDriver – Microsoft Edge Developer
1.3下载好以后解压然后把“msedgedriver.exe”文件复制到当前代码所在目录里就可以了,然后运行以下代码看是否可以正常打开浏览器,检验浏览器驱动是否配置成功
1.4由于代码编写粗心可能会出现的异常:
selenium.common.exceptions.InvalidArgumentException: Message: invalid argument
(Session info: MicrosoftEdge=110.0.1587.41)
原因:请求URL的请求部分漏掉,如图选中的部分漏掉会报以上错误。
修改后如图即可正常运行了。。。
二、关于
selenium定位元素报错:
AttributeError: ‘WebDriver’ object has no attribute ‘find_element_by_id’
1.1原因:Selenium经过版本升级之后(4.x版本),按照旧的语法运行后会报错,在版本没有更新前我们使用的都是driver.find_element_by_方法名(“value”),方法名就是by_id、by_class_name、by_name等等,而”value”,则是传入的值。
1.2解决方法:修改后的格式由 driver.find_element_by_方法名(”value”)变为 driver.find_element(By.方法名, “value”),具体改动如下:
注意在改动代码之后会有红线提示,即要导包,这里可以使用快捷键Alt加回车快速导包。
from selenium.webdriver.common.by import By
修改完之后,selenium就可以进行自动化工作了
三、如果要打开本地URL,方法?
直接复制本地的路径出来运行会路径报错。因为/反斜杠在Python是转义字符。
1.1
直接在复制出来的本地路径前面加r。推荐
。因为r修饰的字符窜,如果字符窜中有转义字符,不会进行转义
1.2单反斜杠变成双反斜杠,进行转义
1.3使用本地浏览模式,前缀必须添加file:///,且注意复制本地的路径中的反斜杠要变成正斜杠
1.4复制该文件打开的浏览器地址,不需要改变
如图:
拓展:
关于正斜杠和反斜杠区分