I wanted to make a script that searches for given matches, but it seems I'm unable to interact with the site and I'm not sure if it's beacause there's an iframe that I'm ignoring or the site has some form of protection against automated scripts. I tried using .click just to see if I script can interact with the site at all, but that failed as well.
import time
import undetected_chromedriver as uc
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
driver = uc.Chrome(use_subprocess=True)
driver.get('https://www.365sport365.com/#/AX/')
driver.maximize_window()
match = "testbarcelona"
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "/html/body/div[1]/div/div[4]/div[1]/div/div[2]/div[2]/input"))).send_keys(match)
time.sleep(120)
When I run the script, site opens and that all that happens. Haven't been able to make script be able to click or fill search bar.
Tried to make a script that searches for matches, but was unable to interact with the site at all.
The search
field within the website isn't within any iframe as such.
To send a character sequence to the search
field you need to induce WebDriverWait for the element_to_be_clickable() and you can use either of the following locator strategies:
Code Block:
import undetected_chromedriver as uc
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
driver = uc.Chrome(executable_path='C:\\BrowserDrivers\\chromedriver.exe', use_subprocess=True)
driver.maximize_window()
driver.get('https://www.365sport365.com/#/AX/')
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input.sml-SearchTextInput"))).send_keys("testbarcelona")
driver.save_screenshot("search.png")
Browser Snapshot:
Note: You have to add the following imports :
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC