gpt4 book ai didi

python - 使用 BeautifulSoup Python 单击按钮后获取值(value)

转载 作者:太空狗 更新时间:2023-10-29 21:41:22 27 4
gpt4 key购买 nike

我正在尝试获取点击按钮后网站给出的值。

这是网站:https://www.4devs.com.br/gerador_de_cpf

可以看到有一个叫“Gerar CPF”的按钮,这个按钮提供了一个点击后出现的数字。

我当前的脚本打开浏览器并获取值,但我是在单击之前从页面获取值,因此该值为空。我想知道是否可以在点击按钮后获取值。

from selenium import webdriver
from bs4 import BeautifulSoup
from requests import get

url = "https://www.4devs.com.br/gerador_de_cpf"

def open_browser():
driver = webdriver.Chrome("/home/felipe/Downloads/chromedriver")
driver.get(url)
driver.find_element_by_id('bt_gerar_cpf').click()

def get_cpf():
response = get(url)

page_with_cpf = BeautifulSoup(response.text, 'html.parser')

cpf = page_with_cpf.find("div", {"id": "texto_cpf"}).text

print("The value is: " + cpf)


open_browser()
get_cpf()

最佳答案

open_browserget_cpf 绝对没有关系...

实际上你根本不需要get_cpf。单击按钮后等待文本:

from selenium.webdriver.support.ui import WebDriverWait as wait

def open_browser():
driver = webdriver.Chrome("/home/felipe/Downloads/chromedriver")
driver.get(url)
driver.find_element_by_id('bt_gerar_cpf').click()
text_field = driver.find_element_by_id('texto_cpf')
text = wait(driver, 10).until(lambda driver: not text_field.text == 'Gerando...' and text_field.text)
return text

print(open_browser())

更新

与请求相同:

import requests

url = 'https://www.4devs.com.br/ferramentas_online.php'
data = {'acao': 'gerar_cpf', 'pontuacao': 'S'}
response = requests.post(url, data=data)
print(response.text)

关于python - 使用 BeautifulSoup Python 单击按钮后获取值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53973423/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com