一,代码:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
import time
def change_url(url):
# 就在当前标签页打开网页
driver.get(url)
print(driver.title)
# 获取所有窗口句柄并切换到最后一个
handles = driver.window_handles
driver.switch_to.window(handles[-1])
def open_new_url(url):
# 就在当前标签页打开网页
driver.execute_script("window.open('"+url+"', '_blank');")
# 获取所有窗口句柄并切换到最后一个
handles = driver.window_handles
driver.switch_to.window(handles[-1])
if __name__ == '__main__':
# 指定驱动路径
driver_path = '/opt/soft/chromedriver-linux64/chromedriver'
# 创建Service对象并传入ChromeOptions
service = Service(driver_path)
# 得到options
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
driver = webdriver.Chrome(options=chrome_options,service=service)
# 通过JavaScript在新窗口打开URL
URL = 'https://movie.douban.com/explore?support_type=movie&is_all=false&category=%E7%83%AD%E9%97%A8&type=%E5%85%A8%E9%83%A8'
open_new_url(URL)
time.sleep(3)
print(driver.page_source)
# colle_btns = driver.find_elements(By.XPATH, "//li[@class='explore-menu-second-tag']")
colle_btns = driver.find_elements(By.XPATH, "//li[contains(@class,'explore-menu-second-tag')]")
print("按纽数量:",len(colle_btns))
for btn in colle_btns:
print(btn)
print(btn.text)
print(btn.get_attribute("class"))
if btn.text == '日本':
btn.click()
time.sleep(3)
二,测试效果:
![image]()