[英]Extracting text from button with selenium
我正在尝试使用 selenium 来提取按钮上的文本,但 python 只返回None
我使用button = browser.find_element_by_xpath("/html/body/div[3]/main/div[3]/div[3]/div/div/div/div/div/button")
得到了按钮
text = button.get_attribute('text')
(当使用 .click() 时按钮工作得很好)
这是按钮代码:
<button class=" btn btn-primary stepbuttonnew" onclick="if (!window.__cfRLUnblockHandlers) return false; ok.performClick();gtag('config', 'UA-113527404-1', {'page_path': '/smth'});">
Text i want
</button>
它应该返回“我想要的文本”
任何帮助表示赞赏:)
你可以发布页面吗? 我建议尝试:
text = driver.find_element_by_xpath('XPATH').text
print(text)
如果 xpath 不起作用,也许可以测试find_element_by_class_name
。
按钮元素的text
属性将返回文本。
button = browser.find_element_by_xpath("/html/body/div[3]/main/div[3]/div[3]/div/div/div/div/div/button")
buttonText = button.text
如果通常的 selenium 不起作用那么我相信 JavaScript 执行器将能够帮助您检索到所需的值。 如果您对此没有先验知识,那么我建议您检查一下。
`使用 innerText 属性? 很多时候纯文本在 Angular/React ui 应用程序中读取 null,您应该能够使用 innerText 属性获取它,即 text = button.get_attribute('innertext')
我正在尝试使用 selenium 提取按钮上的文本,但 python 只返回None
我使用button = browser.find_element_by_xpath("/html/body/div[3]/main/div[3]/div[3]/div/div/div/div/div/button")
得到了按钮
text = button.get_attribute('text')
(使用.click() 时按钮工作得很好)
这是按钮代码:
<button class=" btn btn-primary stepbuttonnew" onclick="if (!window.__cfRLUnblockHandlers) return false; ok.performClick();gtag('config', 'UA-113527404-1', {'page_path': '/smth'});">
Text i want
</button>
它应该返回“我想要的文本”
任何帮助表示赞赏:)
对于从 Python 中的按钮抓取文本,您可以协调 ProxyCrawl API( https://pypi.org/project/proxycrawl/ ),它足以适应您当前的 Python 代码库。 API 现在已经生效,并且现在被信息工程师使用,因为它们提供了更熟练、更安全、更高效的信息抓取,并且如各种页面的动态所示是完全通用的。 此外,我们可以通过 CSS 选择器、XPath 和 Class 名称获取按钮文本。 除此之外,您还可以使用随附的代码使用 Python Selenium 抓取数据。
源代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
import time
driver = webdriver.Chrome()
wait = WebDriverWait(driver,30)
driver.get("https://www.decoin.io/en/")
driver.maximize_window()
text = wait.until(EC.visibility_of_element_located((By.XPATH,'/html/body/section[1]/div/div[2]/a[1]/button'))).text
print(text)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.