须知:如果在前端页面源码内复制结点的xpath查找不到数据!!!!,记得要自己在写一下xpath语句试一试

    目标:
    1:掌握怎么利用selenium操控键盘操作(不是特别重要)
    2:掌握怎么利用selenium操控鼠标操作
    3:掌握怎么利用selenium切换句柄(切换浏览器窗口)

    一:怎么利用selenium操控键盘操作(不是特别重要)

    image.png

    二:怎么利用selenium操控鼠标操作

    用selenium操作鼠标有什么用?

    答:有的网站部分功能是动态加载的,你需要把鼠标放在一些元素结点上面,其他的元素结点才能被加载出来,这是我们就要用selenium模拟鼠标操作,将鼠标移动到元素节点上,这样才可以操作动态加载的其他元素结点

    image.png

    操作语法:

    from selenium.webdriver import ActionChains 导入模块
    ActionsChains(浏览器对象).move_to_element(to_element = 指定节点). perform() 将鼠标移动到指定目标结点处!

    注意事项:必须要执行 perform方法才能真正将鼠标移动到目标结点处!

    图示:

    image.png

    代码截图:

    image.png


    三:怎么利用selenium切换句柄(切换浏览器窗口)

    切换句柄的使用场景:利用selenium创建浏览器对象,打开指定网站,在网站内点击一个链接后,又打开了一个新的窗口,但是我们的浏览器对象还是处在第一个网站的结点源代码中,想要对新窗口中的网站进行一些操作就要将浏览器对象切换到后打开网站的那个结点源代码中(句柄)

    语法:

    from selenium import webdriver 导入模块
    浏览器对象 = webdriver.Chrome( ) 创建浏览器对象
    all_handles = 浏览器对象.window_handles 获取当前浏览器对象所有打开的窗口对象,并存放到列表内(左边第一个窗口列表下标为0)
    浏览器对象.switch_to.windows(指定窗口对象) 将浏览器切换到指定窗口

    注意事项:

    1:window_headles 方法功能是获取当前浏览器的所有窗口对象,并存放在一个列表内,最左面的窗口列表下标为0
    2:切换窗口中的窗口不是正常浏览器中的窗口,这里指代浏览器所处在的那个结点源代码中!

    代码截图:

    image.png