ModuleNotFoundError: No module named 'webdriver'

ImportError: cannot import name 'webdriver' from partially initialized module ''


muchos de estos error vienen dados por realizar los siguientes tipos de importacion

import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.page_load_strategy = 'normal'
driver = webdriver.Chrome(options=options)
driver.get("http://www.google.com")
driver.quit()


 Solucion

from selenium.webdriver.chrome.service import Service

from selenium.webdriver.common.by import By

from webdriver_manager.chrome import ChromeDriverManager

from selenium import webdriver

driver = webdriver.Chrome()

driver.get("https://www.google.com")

driver.quit()


tener presente que la version de Chrome (por ejemplo) sea compatible con con WebDriver utilizado 

base pyqt5

from PyQt5.QtWidgets import QApplication
from gui import *

class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):

def __init__(self):
QtWidgets.QMainWindow.__init__(self)
self.setupUi(self)

app = QApplication([])
gui = MainWindow()
gui.show()
app.exec_()

Selenium - espera explícita

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
if __name__ == '__main__':

driver = webdriver.Chrome()
driver.get("https://www.google.com.ar/maps")

try:
# $x("//*[@id='searchboxinput']")
element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "searchboxinput")))
elem=driver.find_element(By.ID, "searchboxinput")
elem.send_keys("ddddd")

# elemento = driver.find_element(By.ID, "searchboxinput")
elemento = driver.find_element(By.XPATH, "//input[@id='searchboxinput']")
time.sleep(4)




except Exception:
print("nada")
finally:
print("fin")
driver.quit()from selenium.webdriver.support.wait import WebDriverWait


Las siguientes son las condiciones esperadas que se pueden utilizar en la espera explícita.

  1. alertIsPresent()
  2. elementSelectionStateToBe()
  3. elementToBeClickable()
  4. elementToBeSelected()
  5. frameToBeAvaliableAndSwitchToIt()
  6. invisibilityOfTheElementLocated()
  7. invisibilityOfElementWithText()
  8. presenceOfAllElementsLocatedBy()
  9. presenceOfElementLocated()
  10. textToBePresentInElement()
  11. textToBePresentInElementLocated()
  12. textToBePresentInElementValue()
  13. titleIs()
  14. titleContains()
  15. visibilityOf()
  16. visibilityOfAllElements()
  17. visibilityOfAllElementsLocatedBy()
  18. visibilityOfElementLocated()

usb-file-resc_17.1.0.0

archivo del programa

fallo en la publicación. las respuesta no es una respuesta json válida

en wordpress...
Ajustes---> Enlaces permanentes ---> guardar cambios (click)

quitar menu de pagina de wordpress

en  CSS Adicional poner 

#main-header{
display:none;
}

lo que hace que el elemento con id="main-header" quede oculto.

urllib.request.urlretrieve

urlretrieve(url, nombre de archivo=Ninguno, reporthook=Ninguno, datos=Ninguno)


guardar una imagen y dejarla alojada en una carpeta "imagen"
urllib.request.urlretrieve(src, "imagen/" + name+".jpg")




    Sobre selenium

     Espera implicita

     Le decimos a webdriver que si el elemento que estamos buscando no fue cargado todavía en la web, espera un tiempo especificado, al terminar este tiempo se realiza una segunda consulta a la página en busca de este elemento, si no es cargado, larga una excepcion del tipo, NoSuchElement Exception

    Espera explicita



    la mas recomendada (establecen un tiempo de espera pero hacen consulta cada 500 ms, lo cual son mejores para no relentizar el codigo con tiempos establecidos)

        WebDriverWait

        ExpectedConditions

    Excepcion en caso malo. TimeOut Exception

    Fluent Waits : Wait


    polling time


    comandos

    bajar página

    driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")



    DataAnnotation

    Required –  indica que la propiedad es un campo obligatorio
    DisplayName – define el texto que se utilizará en los campos de formulario y los mensajes de validación.
    StringLength – define una longitud máxima para un campo de cadena
    Range – da un valor máximo y mínimo para un campo numérico
    Bind – enumera los campos para excluir o incluir al vincular parámetros o valores de formulario a las propiedades del modelo.
    ScaffoldColumn – permite ocultar campos de los formularios del editor



    https://techclub.tajamar.es/registro-y-login-de-usuarios-asp-net-core/

    DataBase First

     "Scaffold-DbContext "Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models"

    Política de Privacidad - ANDROID

    POLÍTICA DE PRIVACIDAD

    El presente Política de Privacidad establece los términos en que Kaupisoft usa y protege la información que es proporcionada por sus usuarios al momento de utilizar su sitio web. Esta compañía está comprometida con la seguridad de los datos de sus usuarios. Cuando le pedimos llenar los campos de información personal con la cual usted pueda ser identificado, lo hacemos asegurando que sólo se empleará de acuerdo con los términos de este documento. Sin embargo esta Política de Privacidad puede cambiar con el tiempo o ser actualizada por lo que le recomendamos y enfatizamos revisar continuamente esta página para asegurarse que está de acuerdo con dichos cambios.

    Información que es recogida

    Nuestro sitio web podrá recoger información personal por ejemplo: Nombre,  información de contacto como  su dirección de correo electrónica e información demográfica. Así mismo cuando sea necesario podrá ser requerida información específica para procesar algún pedido o realizar una entrega o facturación.

    Uso de la información recogida

    Nuestro sitio web emplea la información con el fin de proporcionar el mejor servicio posible, particularmente para mantener un registro de usuarios, de pedidos en caso que aplique, y mejorar nuestros productos y servicios.  Es posible que sean enviados correos electrónicos periódicamente a través de nuestro sitio con ofertas especiales, nuevos productos y otra información publicitaria que consideremos relevante para usted o que pueda brindarle algún beneficio, estos correos electrónicos serán enviados a la dirección que usted proporcione y podrán ser cancelados en cualquier momento.

    Kaupisoft está altamente comprometido para cumplir con el compromiso de mantener su información segura. Usamos los sistemas más avanzados y los actualizamos constantemente para asegurarnos que no exista ningún acceso no autorizado.

    Cookies

    Una cookie se refiere a un fichero que es enviado con la finalidad de solicitar permiso para almacenarse en su ordenador, al aceptar dicho fichero se crea y la cookie sirve entonces para tener información respecto al tráfico web, y también facilita las futuras visitas a una web recurrente. Otra función que tienen las cookies es que con ellas las web pueden reconocerte individualmente y por tanto brindarte el mejor servicio personalizado de su web.

    Nuestro sitio web emplea las cookies para poder identificar las páginas que son visitadas y su frecuencia. Esta información es empleada únicamente para análisis estadístico y después la información se elimina de forma permanente. Usted puede eliminar las cookies en cualquier momento desde su ordenador. Sin embargo las cookies ayudan a proporcionar un mejor servicio de los sitios web, estás no dan acceso a información de su ordenador ni de usted, a menos de que usted así lo quiera y la proporcione directamente noticias. Usted puede aceptar o negar el uso de cookies, sin embargo la mayoría de navegadores aceptan cookies automáticamente pues sirve para tener un mejor servicio web. También usted puede cambiar la configuración de su ordenador para declinar las cookies. Si se declinan es posible que no pueda utilizar algunos de nuestros servicios.

    Enlaces a Terceros

    Este sitio web pudiera contener en laces a otros sitios que pudieran ser de su interés. Una vez que usted de clic en estos enlaces y abandone nuestra página, ya no tenemos control sobre al sitio al que es redirigido y por lo tanto no somos responsables de los términos o privacidad ni de la protección de sus datos en esos otros sitios terceros. Dichos sitios están sujetos a sus propias políticas de privacidad por lo cual es recomendable que los consulte para confirmar que usted está de acuerdo con estas.

    Control de su información personal

    En cualquier momento usted puede restringir la recopilación o el uso de la información personal que es proporcionada a nuestro sitio web.  Cada vez que se le solicite rellenar un formulario, como el de alta de usuario, puede marcar o desmarcar la opción de recibir información por correo electrónico.  En caso de que haya marcado la opción de recibir nuestro boletín o publicidad usted puede cancelarla en cualquier momento.

    Esta compañía no venderá, cederá ni distribuirá la información personal que es recopilada sin su consentimiento, salvo que sea requerido por un juez con un orden judicial.

    Kaupisoft Se reserva el derecho de cambiar los términos de la presente Política de Privacidad en cualquier momento.

    Esta politica de privacidad se han generado en politicadeprivacidadplantilla.com.

    Generar Apk Android

     Apk firmada en Android Studio.

    1 - Build

    2 - Generate Signed Bundle / APK

    3 - click en APK --> next

    4 - generar key store o usar uno previo.


    Dispatchers kotlin

    para hacer uso de una corrutina con el fin de ejecutar una operacion en simultaneo
    mediante: import kotlinx.coroutines.Dispatchers

    suspend fun getQuotes():List<QuoteModel>{
    val response: Response<List<QuoteModel>> = retrofit.create(QuoteApiClient::class.java).getAllQuotes()
    return response.body() ?: emptyList()

    }

    pasa a...
    suspend fun getQuotes(): List<QuoteModel> {
    return withContext(Dispatchers.IO) {
    val response: Response<List<QuoteModel>> =
    retrofit.create(QuoteApiClient::class.java).getAllQuotes()
    response.body() ?: emptyList()
    }

    } 

    Error: Unresolved reference

     Android Studio no reconoce las variables.


    solucion:

    ir a build.gradle (Module)

    borrar todo plugins{ } aparece al principio y puede tener 2 id

    remplazar por 

    apply plugin: 'com.android.application'

    apply plugin: 'kotlin-android'

    apply plugin: 'kotlin-android-extensions'

    Introducción a ASP.NET MVC 5

     Introducción a ASP.NET MVC 5

    Microsoft ha lanzado Visual Studio 2013 Preview. Hay muchas nuevas características introducidas con esta versión de Visual Studio. Una de ellas es MVC 5, es la última versión de MVC. Me gustaría contarles algo sobre el MVC. MVC es un patrón arquitectónico que separa una aplicación en tres partes principales llamadas Modelo, Vista y Controlador. MVC es una forma reconocida de desarrollar aplicaciones

    Hay algunas características importantes en MVC 5 como se indica a continuación:

    1. Un ASP.NET
    2. Identidad ASP.NET
    3. Bootstrap
    4. Filtros de autenticación
    5. Anulación de filtros

    Un ASP.NET
    Como sabes, hay muchas plantillas de proyectos disponibles para desarrollar aplicaciones web. Una de ellas es el proyecto MVC de proyecto MVC. Se coordina perfectamente con la nueva experiencia One ASP.NET. Utilizando el asistente de creación de proyectos One ASP.NET puedes personalizar tu aplicación MVC y también puedes configurar tu autenticación. Las aplicaciones MVC son ahora aplicaciones web estándar y no utilizan su propio proyecto GUID (Globally Unique Identifier). Esto le ayuda a mezclar y combinar varias tecnologías de su aplicación preferida. Cualquier desarrollador amaría ASP.NET ahora porque One ASP.NET hace las cosas muy fáciles y útiles en ASP.NET.

    Identidad ASP.NET
    Hay una nueva característica utilizada para construir aplicaciones web ASP.NET llamada ASP.NET Identity. Ahora, cuando usted crear una aplicación utilizando una plantilla de proyecto MVC, puede utilizar un ASP.NET Identity para la autenticación y la de identidad. Le ayuda a integrar los datos del perfil individual del usuario con los datos de la aplicación. También puede almacenar los datos en la base de datos de SQL Server o en otro almacén de persistencia.

    Hay las siguientes dos características principales que podemos utilizar en él:
    • Autenticación basada en reclamaciones
    ASP.NET Identity admite la autenticación basada en reclamaciones en la que la identidad de cualquier usuario se define como un conjunto de reclamaciones de un emisor de confianza. El usuario necesita ser autenticado con sus credenciales de acceso y puede iniciar sesión con sus proveedores de identidad social, como Facebook, Google, Twitter o pueden iniciar sesión con una cuenta de organización como Windows Azure Active Directory.
    • OAuth 2.0
    Si desea autorizar las solicitudes de las aplicaciones de los clientes a su API web, ahora se puede hacer por OAuth 2.0 bearer tokens. Las autorizaciones de los clientes también se realizan mediante servidores de autorización de la organización como Windows Azure Active Directory o mediante una autorización personalizada.
    • Uso de WAAD y WSAD 
    Ahora puede crear su proyecto ASP.NET con las ventajas de Windows Azure Active Directory (WAAD) y Windows Server Active Directory (WSAD) para la autenticación

    • Filtros de autenticación
    Como el nombre de Filtros de Autenticación indica, es un tipo de filtro en ASP.NET MVC que se ejecuta antes de los filtros de autorización 
    en el pipeline de ASP.NET MVC y también permite determinar la lógica de autenticación por acción, por controlador o globalmente para todos los controladores. También puede añadir desafíos de autenticación en respuesta a solicitudes no autorizadas.
    • Anulación de filtros
    Los filtros de anulación determinan un conjunto de tipos de filtro que no deben ejecutarse para un ámbito determinado. Con esto se puede permitir configuración de filtros que se aplican globalmente pero luego excluir ciertos filtros globales para que no se apliquen a acciones o controladores.

    Error: Failed to create Anaconda menus, Abort Retry Ignore

    nombre error:  Failed to create Anaconda menus, Abort Retry Ignore

    entrar a:  https://repo.anaconda.com/archive/


    Bajar algunas de estas opciones según SO.

    Anaconda2-5.3.1-Linux-x86.sh507.6M2018-11-19 13:37:355685ac1d4a14c4c254cbafc612c77e77
    Anaconda2-5.3.1-Linux-x86_64.sh617.8M2018-11-19 13:37:314da47b83b1eeac1ca8df0a43f6f580c8
    Anaconda2-5.3.1-MacOSX-x86_64.pkg628.4M2018-11-19 13:37:38d6139f371aa6cf81c3f002ecdd09b748
    Anaconda2-5.3.1-MacOSX-x86_64.sh539.0M2018-11-19 13:37:43559606f0dda021daa1afd612b2e3e37c
    Anaconda2-5.3.1-Windows-x86.exe458.1M2018-11-19 13:38:327286587bcfb6a5a164d70fe02c1968d5
    Anaconda2-5.3.1-Windows-x86_64.exe580.1M2018-11-19 13:37:47ff29ffcd1f767cde91bab71110c00294

    01100110 01101001 01101110 00100000 01100100 01100101 00100000 01100011 01101111 01100100 01101001 01100111 01101111

    RETURN


    Error 0x800B010C - Tratando de instalar SQL Server management studio

    Paso 0: Descargar e instalar como administrador el siguiente programa:

    http://media.kaspersky.com/utilities/CorporateUtilities/rootsupd.zip 


    Paso 1:Ejecutar el siguiente comando

     c: \rootsupd.exe /c /t:C:\rootsupd


    Paso 2:Usar el siguiente comando para instalar el certificado necesario

    c: \rootsupd.exe authroots.sst "(NOMBRE DE DE LA CERTIFICACION SIN COMILLAS)"


    Paso 3(OPCIONAL):Comando para eliminar certificado 

    c: \rootsupd.exe authroots.sst


    01100110 01101001 01101110 00100000 01100100 01100101 00100000 01100011 01101111 01100100 01101001 01100111 01101111

    RETURN


    TDD o Test-Driven Development (desarrollo dirigido por tests)

     TDD o Test-Driven Development (desarrollo dirigido por tests) es una práctica de programación que consiste en escribir primero las pruebas (generalmente unitarias), después escribir el código fuente que pase la prueba satisfactoriamente y, por último, refactorizar el código escrito.


    Con esta práctica se consigue entre otras cosas: un código más robusto, más seguro, más mantenible y una mayor rapidez en el desarrollo.



    fuente de interes: https://www.paradigmadigital.com/dev/tdd-como-metodologia-de-diseno-de-software/




    01100110 01101001 01101110 00100000 01100100 01100101 00100000 01100011 01101111 01100100 01101001 01100111 01101111

    RETURN


    Diferencias MVC y WebForms

    MVC

    Es un patrón arquitectural que describe una forma de desarrollar aplicaciones software separando los componentes en tres grupos (o capas):


    El Modelo que contiene una representación de los datos que maneja el sistema, su lógica de negocio, y sus mecanismos de persistencia.


    La Vista, o interfaz de usuario, que compone la información que se envía al cliente y los mecanismos interacción con éste.


    El Controlador, que actúa como intermediario entre el Modelo y la Vista, gestionando el flujo de información entre ellos y las transformaciones para adaptar los datos a las necesidades de cada uno.


    MVC son las siglas de Modelo-Vista-Controlador, y se trata de un modelo muy maduro y que ha demostrado su validez a lo largo de los años en todo tipo de aplicaciones, y sobre multitud de lenguajes y plataformas de desarrollo.


    Ventajas MVC

    · Clara separación de responsabilidades entre interfaz, lógica de negocio y de control, que además provoca parte de las ventajas siguientes.


    · Produce un código más limpio y estructurado, independizando totalmente la interfaz de la lógica de navegación y, por supuesto, de la de negocio.


    · Facilidad para la realización de pruebas unitarias de los componentes, así como de aplicar desarrollo guiado por pruebas (TDD) y técnicas avanzadas de mocking.


    · Simplicidad en el desarrollo y mantenimiento de los sistemas: el conjunto de convenciones en cuanto a la estructura de proyectos y de nombrado y disposición de elementos facilita el desarrollo una vez son asimiladas.


    · Reutilización de los componentes.


    · Facilidad para desarrollar prototipos rápidos.


    · Sencillez para crear distintas representaciones de los mismos datos.


    · Los sistemas son muy eficientes, y a la postre más escalables.


    · Fácilmente se puede utilizar DI (dependency injection): es una técnica que permite realizar aplicaciones cuyos componentes se encuentran muy desacoplados entre sí, lo que flexibiliza el diseño y, por ejemplo, facilita la realización de pruebas unitarias.


    · Se trata de un patrón muy fácilmente implementable y que nos puede aportar muchos beneficios.


    · Integración sencilla del framework MVC con soluciones basadas en cliente, como jQuery y su interminable colección de plugins, en los que podemos encontrar elementos de interfaz para prácticamente cualquier necesidad.


    · Las direcciones amigables, es un beneficio directo del uso del framework de Microsoft, estrictamente hablando no es mérito de la plataforma MVC, sino del juego de clases presentes en el espacio de nombres System.Web.Routing, incluidas en .NET , con las ventajas que ello conlleva (SEO, REST, claridad en direcciones, etc.).


    · La ausencia de automatismos y persistencia de estado aligera en gran medida el peso y complejidad de las páginas, lo cual redunda en el rendimiento del sistema.


    · Existen multitud de frameworks MVC para ASP.Net, como MonoRail, Maverick.Net, FubuMVC y muchos otros.


    · Es un framework con licencia MS-PL (Microsoft Public License), por tanto es libre, y permite su uso en aplicaciones comerciales.


    · Flexibilidad de la arquitectura de ASP.NET MVC framework en la utilización de motores de vistas distintos al estándar.


    Inconvenientes MVC

    · Tener que ceñirse a una estructura predefinida, lo que a veces puede incrementar la complejidad del proyecto. De hecho, hay problemas que son más difíciles de resolver.


    · Al principio cuesta cierto esfuerzo adaptarse a esta filosofía, sobre todo a desarrolladores acostumbrados a otros modelos más cercanos al escritorio, como Winforms.


    · La distribución de componentes obliga a crear y mantener un mayor número de ficheros.


    · En general requiere de más código que WebForms.


    · Existe un número ingente de componentes y controles reutilizables disponibles para Webforms. Dado que no son compatibles con el framework MVC, se parte de una situación de clara desventaja frente a estos, aunque esto está ya cambiando y seguro que con el tiempo mejorará.


    · Requiere un conocimiento más profundo del entorno web y sus tecnologías subyacentes, puesto que a la vez que ofrece un control mucho más riguroso sobre los datos que se envían y reciben desde el cliente, exige una mayor responsabilidad por parte del desarrollador, ya que deberá encargarse él mismo de mantener el estado entre peticiones, maquetar las vistas, crear las hojas de estilo apropiadas, e incluso los scripts.


    Ventajas WebForms

    · La tecnología de formularios web permite el desarrollo rápido de aplicaciones (RAD) a través de diseñadores visuales con los que es posible componer una página compleja y definir el comportamiento del interfaz a golpe de ratón, puesto que el framework se encarga de realizar parte del trabajo duro, como el mantenimiento del estado entre peticiones, convertir propiedades de controles en código HTML y CSS, o incluso generar scripts que realicen determinadas tareas en cliente.


    · Es posible crear aplicaciones para Internet sin tener apenas idea de las particularidades inherentes al desarrollo web, lo que permite que muchos programadores procedentes del mundo del escritorio puedan ser productivos muy rápidamente, aunque sea a costa de generar páginas mucho más pesadas y con un código de marcado complejo.


    · Si el equipo de desarrollo tiene ya experiencia creando aplicaciones con WinForms y no posee grandes conocimientos sobre programación web de más bajo nivel ni experiencia previa trabajando con el patrón MVC, esta tecnología va a permitir una mayor productividad del equipo.


    · La última versión del framework ya permite direcciones amigables.


    Inconvenientes WebForms

    · Problemas en la separación de código e interfaz.


    · Dificultad para realización de pruebas unitarias.


    · Podemos decir, que todas las ventajas de MVC, no se producen en WebForms, con todos los inconvenientes que esto conlleva.


    · Puede producir comportamientos extraños cuando intentamos intervenir en el ciclo de vida de las páginas, por ejemplo para la carga y descarga de controles dinámicos.


    · No hay control sobre el código HTML generado si se utilizan controles de servidor, por lo que a veces, es difícil conseguir el resultado deseado.


    · Las páginas son mucho más pesadas debido al viewstate.


    Principales diferencias

    MVC es radicalmente distinto al uso de formularios web, algunas de las principales características que destacaría son:


    · No existe el postback.


    · No hay viewstate.


    · No hay eventos.


    · El diseñador visual deja de tener sentido.


    · No hay controles de servidor, al menos en la forma en que los conocemos en WebForms.


    · No es necesario utilizar los archivos code-behind de las páginas .aspx.


    · Las páginas no siguen complejos ciclos de vida, el proceso de una petición es infinitamente más simple que en WebForms.


    · Control total del código de marcado generado.


    · Podemos sustituir componentes internos del framework para adaptarlo a nuestras preferencias.


    · Se integra con Ajax de forma natural, sin artificios como los UpdatePanels y similares.


    · Favorece la introducción de buenas prácticas como la inversión de control o inyección de dependencias.


    · Diferencias entre code-behind y MVC controllers: aparentemente hay similitudes entre ambos, ya que estos contienen la lógica de la aplicación, sin embargo la página aspx no se puede separar del code-behind, ambas trabajan unidas para implementar la lógica de la aplicación y la lógica de presentación, pero en MVC es diferente, hay una clara separación entre la vista (UI) y los controladores, que son una representación abstracta de la interacción con el usuario. Esto permite un código más simple, por lo que la aplicación es más fácil de entender y mantener.


    fuente: https://pdcuevas.wordpress.com/2012/05/10/diferencias-mvc-y-webforms/


    Conclusion:

    Si se cuenta con poco personal y experiencia es conveniente arrancar con WebForm pero luego MVC presenta un mejor modelo a seguir para trabajos grandes y organizados.



    01100110 01101001 01101110 00100000 01100100 01100101 00100000 01100011 01101111 01100100 01101001 01100111 01101111

    RETURN



    INDICE