from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import chromedriver_autoinstaller
# Install the correct chromedriver version
chromedriver_autoinstaller.install()
# Set up Chrome options for headless environment
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")
# Create a new Chrome instance
driver = webdriver.Chrome(options=chrome_options)
# Open Google
driver.get("https://www.google.com")
# Find the search box element
search_box = driver.find_element(By.NAME, "q")
# Enter search text and submit
search_box.send_keys("Stella Maris College, Chennai")
search_box.send_keys(Keys.RETURN)
# Wait for the first search result link to be visible and extract its URL
try:
first_result = WebDriverWait(driver, 20).until(
EC.presence_of_element_located((By.XPATH, "//a[@href][1]"))
)
first_url = first_result.get_attribute("href")
print("First search result URL:", first_url)
except Exception as e:
print("Element not found or not loaded in time.", e)
# Close the browser
driver.quit()
print("Finished search and retrieval!")
Это код для входа в Google и поиска колледжа. Когда приходят результаты, он должен войти в первый URL-адрес и распечатать его. Поскольку я использую Google Colab, у меня не будет графического интерфейса, поэтому я просто печатаю URL-адрес, чтобы проверить, работает ли он. Но гугл блокирует, потому что запрашивает капчу. Я пробовал использовать временные задержки, но это не работает. Я пробовал и другие методы. Но я хочу, чтобы код запускался только с задержками, которые могут показаться человеческими, а не действиями ботов. Пожалуйста, помогите!
Код: [code]from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import chromedriver_autoinstaller
# Install the correct chromedriver version chromedriver_autoinstaller.install()
# Set up Chrome options for headless environment chrome_options = Options() chrome_options.add_argument("--headless") chrome_options.add_argument("--no-sandbox") chrome_options.add_argument("--disable-dev-shm-usage")
# Create a new Chrome instance driver = webdriver.Chrome(options=chrome_options)
# Open Google driver.get("https://www.google.com")
# Find the search box element search_box = driver.find_element(By.NAME, "q")
# Enter search text and submit search_box.send_keys("Stella Maris College, Chennai") search_box.send_keys(Keys.RETURN)
# Wait for the first search result link to be visible and extract its URL try: first_result = WebDriverWait(driver, 20).until( EC.presence_of_element_located((By.XPATH, "//a[@href][1]")) ) first_url = first_result.get_attribute("href") print("First search result URL:", first_url) except Exception as e: print("Element not found or not loaded in time.", e)
# Close the browser driver.quit()
print("Finished search and retrieval!")
[/code] Это код для входа в Google и поиска колледжа. Когда приходят результаты, он должен войти в первый URL-адрес и распечатать его. Поскольку я использую Google Colab, у меня не будет графического интерфейса, поэтому я просто печатаю URL-адрес, чтобы проверить, работает ли он. Но гугл блокирует, потому что запрашивает капчу. Я пробовал использовать временные задержки, но это не работает. Я пробовал и другие методы. Но я хочу, чтобы код запускался только с задержками, которые могут показаться человеческими, а не действиями ботов. Пожалуйста, помогите!