在自动化的一些应用场景中,有时候我们需要在一个打开的浏览器中重新打开一个窗口,这时候我们需要使用JS打开,不多说,看代码
> from selenium import webdriver driver =
> webdriver.Chrome(r'D:\selenium\chromedriver.exe')
> #此时打开百度 driver.get(r'https://www.baidu.com/')
> #打开新的窗口进入搜狗 js = "window.open('https://www.sogou.com/')" driver.execute_script(js)
但是有时候我们需要往JS里面传递的url是一个变量,这时候就比较难办了,后来想了一个取巧的方法,试了试,还挺好用,在想一想,这其实是一种思想,不仅仅可以用到这上面,写代码时很多地方都可以用到,所以就记录了下来:
from selenium import webdriver
driver = webdriver.Chrome(r'D:\selenium\chromedriver.exe')
#此时打开百度
driver.get(r'https://www.baidu.com/')
#打开新的窗口进入搜狗
url = 'https://www.sogou.com/'
js = "window.open(" + '"' + url + '"' + ")"
driver.execute_script(js)
就是使用字符串拼接的方法,把url作为一个变量拼接进去,此时的js的值是 “window.open(‘https://www.sogou.com/’)” ,但是所不一样的是我使用了变量,把变量拼进去了