一,代码:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import Byimport timedef change_url(url):# 就在当前标签页打开网页driver.get(url)print(driver.title)# 获取所有窗口句柄并切换到最后一个handles = driver.window_handlesdriver.switch_to.window(handles[-1])def open_new_url(url):# 就在当前标签页打开网页driver.execute_script("window.open('"+url+"', '_blank');")# 获取所有窗口句柄并切换到最后一个handles = driver.window_handlesdriver.switch_to.window(handles[-1])if __name__ == '__main__':# 指定驱动路径driver_path = '/opt/soft/chromedriver-linux64/chromedriver'# 创建Service对象并传入ChromeOptionsservice = Service(driver_path)# 得到optionschrome_options = Options()chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")driver = webdriver.Chrome(options=chrome_options,service=service)# 通过JavaScript在新窗口打开URLURL = '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]()