Selenium学习笔记(1)
2023.07.08
jinance
学习
 热度
℃
Xpath通过路径来定位控件,分为绝对路径和相对路径。绝对路径以单/号表示,相对路径则以//表示。当xpath的路径以/开头时,表示让Xpath解析引擎从文档的根节点开始解析。当xpath路径以//开头时,则表示让xpath引擎从文档的任意符合的元素节点开始进行解析。而当/出现在xpath路径中时,则表示寻找父节点的直接子节点,当//出现在xpath路径中时,表示寻找父节点下任意符合条件的子节点。弄清这个原则,就可以理解其实xpath的路径可以绝对路径和相对路径混合在一起来进行表示,想怎么玩就怎么玩。
遇到的问题:
- Selenium如何让启动的浏览器和手动启动的浏览器信息一致:导入原浏览器的用户配置即可,通过edge://version/查询用户配置路径信息,不要复制Default。代码如下:
1 2 3 4 5 6 7
| from selenium import webdriver
option = webdriver.EdgeOptions() option.add_argument(r'--user-data-dir=C:\Users\samsung\AppData\Local\Microsoft\Edge\User Data') option.add_experimental_option('excludeSwitches', ['enable-automation']) driver = webdriver.Edge(options=option)
|
1 2 3
| chrome_options = webdriver.ChromeOptions(); chrome_options.add_experimental_option("excludeSwitches", ['enable-automation']); driver = webdriver.Chrome(options=chrome_options);
|
- selenium保留网页登陆信息(保留用户数据):
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| import time from selenium import webdriver
user_data_dir = r'C:\Users\samsung\AppData\Local\Google\Chrome\User Data'
user_option = webdriver.ChromeOptions()
user_option.add_argument(f'--user-data-dir={user_data_dir}')
driver = webdriver.Chrome(options=user_option) driver.get("https://www.csdn.net/") time.sleep(10)
|
- 无法操控钱包插件:为了在我们的自动浏览器上加载插件,我们首先需要将Metamask扩展压缩成一个.crx文件,以下是步骤:
- 在你的普通chrome上安装Metamask
- 导航到
chrome://extensions/
。
- 点击’打包扩展程序(Pack extension)’,并输入Metamask 插件的本地路径,这将生成一个
.crx
文件,你可以用它作为扩展加载到Chromium上。保存安装扩展的文件夹的名称,这将是我们以后要使用的’扩展ID’。
注:后续遇到问题,搁置。暂时解决办法使用“**selenium保留网页登陆信息(保留用户数据):**”,+切换的方法:
1 2 3
| driver.execute_script("window.open('');") driver.switch_to.window(driver.window_handles[1]) driver.get('chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/home.html')
|