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

标签 python selenium selenium-webdriver xpath webdriverwait

抓取指定区域的文字

网站: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:

<span translate="no">大塊文化</span>

最佳答案

要从指定区域提取文本大块文化,您需要为 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()
    
  • 控制台输出:

    大塊文化
    

关于python - 如何使用 Selenium WebDriver 和 Python 提取元素中的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55590293/

相关文章:

Python 正则表达式 - 匹配仅包含 A、B 或 C 的单词

python - 使用月份过滤器时 Django 错误

java - 无法使用 selenium 单击 <label for ="chk"> 标签内的复选框

c# - Selenium 等待逻辑

javascript - 如何在 python selenium webdriver 中使用 javascript 代码通过 xpath 查找 web 元素?

java - 使用 findelements 时如何从 xpath 获取文本

python - 一个单词的最后一个字母必须与另一个单词的第一个字母相同的游戏代码不起作用

Python 多元简单线性回归

python - Milonic 菜单 : Element is not clickable at point. 其他元素将收到点击

java - catch 方法执行时间较长