美文网首页
python3+selenium自动化测试-JS处理多窗口16

python3+selenium自动化测试-JS处理多窗口16

作者: C1R2 | 来源:发表于2020-09-05 16:37 被阅读0次

    (16)JS处理多窗口
    q1:在多个窗口之间来回切换比较复杂,那么有没有办法让新打开的链接在一个窗口打开呢?
    a1: 利用js修改元素属性才能解决
    浏览器页面切到html调试时,查看元素属性:target="_blank",可以手动把target属性去掉,然后查看打开的新链接是不是在原标签页打开
    js去掉target="_blank"属性:js的定位元素,定位该元素的class属性,定位到该元素后直接修改target属性值为空
    js = 'document.getElementsByClassName("mnav")[0].target="";'
    driver.execute_script(js)

    图片.png
    # coding:utf-8
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    import time
    
    driver = webdriver.Chrome()
    
    driver.get("https://www.baidu.com/")
    
    # 修改元素的target属性,有时候很多元素classnames属性都一样时候,复数定位,取对应的第几个
    js = 'document.getElementsByClassName("mnav c-font-normal c-color-t")[4].target="";'
    driver.execute_script(js)
    driver.find_element_by_link_text("贴吧").click()
    

    参考链接
    https://www.cnblogs.com/yoyoketang/p/6426799.html

    相关文章

      网友评论

          本文标题:python3+selenium自动化测试-JS处理多窗口16

          本文链接:https://www.haomeiwen.com/subject/tqivsktx.html