在Selenium Python中更改浏览器窗口的标题



下面是一些代码,我用多个选项卡来填充一个浏览器窗口,这些选项卡指向同一个网站。

driver.get(url)
driver.execute_script("window.open('" + url + "');")
driver.execute_script("window.open('" + url + "');")

这段代码工作,我没有它本身的问题,但我希望能够修改标签标题,因为它们将用于监控网络元素。其余的代码记录在每个选项卡中都很好,但是由于每个选项卡将监视一组不同的网络元素,所以我希望选项卡标题在填充页面的其余部分后反映出这一点,这样我的用户将更容易使用这个工具。我已经在不同的语言中看到过Selenium的一些示例,但我不确定如何在Python中实现它。

标签标题可以通过分配给document.title(而不是window.title)来修改在JavaScript中,但首先您需要切换到该窗口,并创建它

在窗口之间切换很容易:从window_handles获得句柄并调用drv.switch_to.window。可以通过发送来更改活动选项卡参见右图。

下面是一个例子:

from time import sleep
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
drv = webdriver.Firefox()
# Get the website
url = 'https://8.8.8.8'
drv.get(url)
sleep(3)
w0 = drv.window_handles[0]
# Create new window, make it the active tab
drv.execute_script("window.open('" + url + "');")
drv.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.TAB)
sleep(3)
w1 = drv.window_handles[1]
# Change title on new window
drv.switch_to.window(w1)
drv.execute_script('document.title = "My New Title"')
# Switch back to w0 if needed

相关内容

最新更新