Python selenium 获取页面标题

αԋɱ*_*cαη 10 python selenium page-title selenium-webdriver webdriverwait

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.firefox.options import Options

options = Options()
options.headless = True
driver = webdriver.Firefox(options=options)
driver.get("https://hapondo.qa/rent/doha/apartments/studio")
element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.XPATH, "/html/head/title"))
)

print(element.text)
Run Code Online (Sandbox Code Playgroud)

在无头选项下无法获取页面标题?尝试过等待甚至尝试过driver.title

Deb*_*anB 8

您需要注意以下几件事:

  • 要检索页面标题而不是使用,您需要使用driver.title
  • hapondo网站包含支持JavaScript的元素。

解决方案

要提取页面标题,您需要引发WebDriverWait ,并且title_contains()可以使用以下任一定位器策略

  • 代码块:

    from selenium import webdriver
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    options = webdriver.ChromeOptions() 
    options.add_argument('--headless')
    options.add_argument('--window-size=1920,1080')
    driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
    driver.get('https://hapondo.qa/rent/doha/apartments/studio')
    WebDriverWait(driver, 10).until(EC.title_contains("hapondo"))
    print(driver.title)
    
    Run Code Online (Sandbox Code Playgroud)
  • 控制台输出:

    Studio Apartments for rent in Doha | hapondo
    
    Run Code Online (Sandbox Code Playgroud)

参考

您可以在以下位置找到一些相关的详细讨论:


归档时间:

查看次数:

12559 次

最近记录:

5 年,2 月 前