Selenium selenium 操作已打开的浏览器

lyyyyyyy · 2021年09月19日 · 最后由 lyyyyyyy 回复于 2021年09月27日 · 5295 次阅读

经常会遇到调试一个界面的时候,需要走完前面的流程才能到目标界面很麻烦。所以需要让 selenium 去操作已打开 (通过命令行打开) 的界面。

我们先进入 chrome.exe 的目录

cd C:\Program Files (x86)\Google\Chrome\Application
再通过命令行打开浏览器如下图
chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\seleniumData"
--remote-debugging-port 可以指定你想要的端口
 --user-data-dir 可以指定数据存放路径


接着设置 selenium 的 options

chrome_option = Options()
chrome_option.add_experimental_option("debuggerAddress", "localhost:9222")
driver = webdriver.Chrome(options=chrome_option)
driver.get("https://www.baidu.com")

下面是 java 版本

刚才已经打开了百度,接着用 java 去搜索 selenium

package com.quantum.wordDemo;

import org.openqa.selenium.By;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class seleniumDemo01 {

    public static void main(String[] args) {
        ChromeOptions options = new ChromeOptions();
        options.setExperimentalOption("debuggerAddress","localhost:9222");
        ChromeDriver driver = new ChromeDriver(options);
        driver.findElement(By.id("kw")).sendKeys("selenium");
        driver.findElement(By.id("su")).click();
    }
}

共收到 13 条回复 时间 点赞

没看出来怎么就直接打开了目标界面了,这不仅仅是打开了浏览器?

问题是什么呢?

谢谢分享 有空的时候试一下

墨妖 回复

不是加了括号里的内容吗。。。

appium 有没有类似的 操作已经打开的 native app 页面?

kingkong2017 回复

web 这个是用了 chromeDevTools,appium 的还木有研究过

之前做过类似的,但是真正用来执行用例的时候,各种卡死,遂放弃

playwright 可以很好的解决这种使用场景

这是先通过 selenium 命令行启动浏览器,操作到指定界面,然后在用代码去操作这个已经打开的浏览器的意思吗?

这是 selenium3 还是 selenium4 了?

alex 回复

3

kuroky 回复

不是,先通过 cmd 命令行启动浏览器,自己手动操作到界面,再用 selenium 去操作。

14楼 已删除
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册