如何使用Selenium WebDriver和Python提取元素中的文本?

2024-05-06 11:17:53 发布

您现在位置:Python中文网/ 问答频道 /正文

获取指定区域的文本。在

网址:https://www.kobo.com/tw/zh/ebook/NXUCYsE9cD6OWhvtdTqQQQ。在

图片:

https://imgur.com/a/qK1uA9L

代码:

BookTitle = driver.find_elements_by_xpath('//p[@class="title product-field"]')
BookTitle[0].getWindowHandle() 

HTML格式:

^{pr2}$

Tags: 代码https文本com区域wwwdriver图片
3条回答

要从指定区域提取文本,您需要为visibility_of_element_located()归纳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
    
    options = webdriver.ChromeOptions() 
    options.add_argument("start-maximized")
    options.add_argument("--disable-extensions")
    options.add_argument('disable-infobars')
    driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
    driver.get('https://www.kobo.com/tw/zh/ebook/NXUCYsE9cD6OWhvtdTqQQQ')
    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//h2[text()='電子書詳細資料']//following::ul[1]//li/a[@class='description-anchor']/span"))).text)
    driver.quit()
    
  • 控制台输出:

    大塊文化
    

尝试以下代码。在

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

driver.get("https://www.kobo.com/tw/zh/ebook/NXUCYsE9cD6OWhvtdTqQQQ")
element=WebDriverWait(driver,30).until(EC.element_to_be_clickable((By.CSS_SELECTOR,'a.description-anchor span[translate="no"]')))
print(element.text)

你做错事了:

BookTitle[0].getWindowHandle()不应该在这里做任何事情

只需尝试:

driver.find_element_by_css_selector("a[class='description-anchor']>span").text

相关问题 更多 >