Я написал код, который запрашивает ввод у пользователя и открывает утку go для поиска веб-сайта, связанного с этим значением ввода. В результатах поиска я хочу открыть веб-сайт, который не начинается с веб-сайта, упомянутого мной в //a[not(starts-with(@href, 'website'))]
. Это мой код:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import time
import pyautogui
from selenium.common.exceptions import NoSuchElementException, StaleElementReferenceException
stuff = input()
options = webdriver.ChromeOptions()
options.headless = True
browser = webdriver.Chrome()
browser.implicitly_wait(30)
browser.maximize_window()
browser.get("http://www.duckduckgo.com")
elem = browser.find_element_by_name("q")
elem.clear()
elem.send_keys(stuff)
elem.submit()
matched_elements = browser.find_elements_by_xpath('//a[not(starts-with(@href, "https://it.wikipedia.org/"))]' or '//a[not(starts-with(@href, "https://www.facebook.com"))]')
if matched_elements:
matched_elements[0].click()
Предположим, пользователь ввел следующие данные: - Regina Pacis, Reggio nell'Emilia, 42124
и результаты поиска таковы: -
Я хочу, чтобы код пропускал результаты поиска wikipedia
и facebook
и нажмите на ссылку, выделенную красным. Но вместо этого код возвращается к duckduck go.
Я знаю, что могу легко достичь результата с помощью: -
match_elements = browser.find_elements_by_class_name('result__url__domain')
match_elements[2].click()
Но результаты поиска являются динамическими c который будет меняться в соответствии с пользовательским вводом. Я был бы очень признателен, если бы вы, ребята, могли мне помочь