Estoy jugando con el siguiente código, y lo extraño es que sigue abriendo un navegador Chrome en lugar de un navegador Firefox.

import requests
import selenium
from selenium import webdriver
from bs4 import BeautifulSoup
from webbot import Browser

driver = webdriver.Firefox(executable_path= r'C:/path_here/geckodriver.exe')

web = Browser()
url = 'https://web_browser'
web.go_to(url)

# 1st validation
web.type('email_address' , into='username')
web.click('Continue')

# password
web.type('passwd' , into='password')
web.click('Next')

Obtuve el geckodriver desde el siguiente enlace, y cambio la extensión de .gz a .exe, lo que creo que es correcto, pero no estoy totalmente seguro.

https://github.com/mozilla/geckodriver/releases
0
ASH 8 sep. 2018 a las 00:39

3 respuestas

La mejor respuesta

Esto terminó trabajando para mí.

from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.accept_untrusted_certs = True
wd = webdriver.Firefox(executable_path="C:/Utility/geckodriver.exe", firefox_profile=profile)

url = "https://www.google.com/"
wd.get(url)


# download geckodriver for windows 64-bit from here
# https://github.com/mozilla/geckodriver/releases
0
ryguy72 10 sep. 2018 a las 13:45

Este código abrirá las ventanas del navegador Chrome porque:

"Biblioteca de automatización web para python que se basa en el marco de selenio"

Si miras la fuente puedes ver:

self.driver = webdriver.Chrome(executable_path=driverpath , chrome_options=options)

Significa que abre dos pestañas en estas dos líneas:

driver = webdriver.Firefox(executable_path= r'C:/path_here/geckodriver.exe')

web = Browser()

En realidad no necesitas eso. Se puede arreglar de esta manera:

import requests
import selenium
from selenium import webdriver
from bs4 import BeautifulSoup
from webbot import Browser

web = Browser()
url = 'https://web_site'
web.go_to(url)

# 1st validation
web.type('email' , into='username')
web.click('Continue')

# 2nd validation
web.type('email' , into='username')
web.click('Next')

# password
web.type('pass' , into='password')
web.click('Next')

# Now you are logged in!!
url = 'https://web_page'
web.go_to(url)

# upload CSV Source File:
WebElement = web.driver.find_element_by_class_name('ignore-inline-attach')
web.driver.sendKeys("C:/my_path/test.csv");

# Close browser.
web.close_current_tag()

No es un problema de Chrome. ¡Vea mi respuesta a su pregunta anterior!

Saludos

0
Federico Rubbi 9 sep. 2018 a las 06:53

Tienes que agregar estas dos referencias

using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;

Después de eso, puede hacer una función de prueba como esa usando OpenQA.Selenium; usando OpenQA.Selenium.Firefox;

 public void test()
    {
        IWebDriver browser = new FirefoxDriver();//Open Page
        browser.Navigate().GoToUrl("https://stackoverflow.com");//Close Page
        browser.Close();
    }

Espero poder ayudarte

-2
flaeckli 7 sep. 2018 a las 22:06