Jestem dość nowy do selenu i dużo szukałem, ale nie mogę znaleźć odpowiedzi na mój problem. Chcę otworzyć Firefoksa, idź w Google i szukaj czegoś. Przechowuj wszystko na liście i wydrukuj go do mojej konsoli.

Ale za każdym razem, gdy otwieram Firefoksa z Selenem, wyskakujące okna otwiera się z potwierdzeniem przepisów dotyczących prywatności Google. Nie wiem, jak go zamknąć.

Oto, czego próbowałem:

from selenium import webdriver

from selenium.webdriver.common.keys import Keys
import time

# create a new Firefox session
driver = webdriver.Firefox()
driver.implicitly_wait(30)
driver.maximize_window()

# Navigate to the application home page
driver.get("http://www.google.com")
main_page = driver.current_window_handle

time.sleep(3)

#Tried to find out in which browers window I am right now -> terminal says '19'
print('The actual browers window is: {}'.format(main_page))

driver.find_element_by_xpath("//*[@id='introAgreeButton']/span/span").click()

# get the search textbox
search_field = driver.find_element_by_id("lst-ib")
search_field.clear()

# enter search keyword and submit
search_field.send_keys("Flowers")
search_field.submit()

# get the list of elements which are displayed after the search
# currently on result page using find_elements_by_class_name method
lists= driver.find_elements_by_class_name("_Rm")

# get the number of elements found
print ("Found " + str(len(lists)) + " searches:")

# iterate through each element and print the text that is
# name of the search

i=0
for listitem in lists:
   print (listitem.get_attribute("innerHTML"))
   i=i+1
   if(i>10):
      break

# close the browser window
driver.quit()
0
Nico 27 październik 2020, 14:23

1 odpowiedź

Najlepsza odpowiedź

Popup Privacy Google jest zawarty w IFrame. Musisz przełączyć się na iframe, a następnie szukaj przycisku Akceptuj (lub odmówić). Tak jak

wait = WebDriverWait(driver, 5)
     iframe = wait.until(EC.element_to_be_clickable([By.CSS_SELECTOR, '#cnsw > iframe']))
    driver.switch_to.frame(iframe)

A następnie w IFRame, szukaj przycisku zaakceptowania kliknij go.

1
P. Soltes 27 październik 2020, 17:24