Перемещайтесь по сайту с помощью селена. Click () не работает - PullRequest
1 голос
/ 03 августа 2020

Редактировать: Изменилось на игру «Лейкерс», когда началась другая.

Я учусь, как делать ставки в Интернете, и весь день зацикливался на этой проблеме. Когда я загружаю этот веб-сайт Betway, он переходит на «Основные рынки» (см. Изображение ниже). Я хотел бы go на другие вкладки, например, «Игровой реквизит» или «1-й тайм».

url = "https://sports.betway.com/en/sports/evt/6183976"
driver = webdriver.Safari()
driver.get(url)
element = driver.find_element_by_xpath("/html/body/div/div/div[3]/div/div[1]/div/div[2]/div[4]/div/div[3]/div/div[2]/div/div[1]/div[2]/div/div/div[2]/div/div/div[4]/div/div")
element.click()

На других веб-сайтах я мог использовать поиск по элементам , за которым следует функция click () для навигации по страницам. Я не могу заставить их работать на этом сайте. Нижнее изображение, которое я добавил, - это код с веб-сайта, когда я его проверяю. Буду очень признателен за совет здесь!

Website

введите описание изображения здесь

Ответы [ 2 ]

1 голос
/ 04 августа 2020

To click() на вкладке с текстом Game Props , вы должны вызвать WebDriverWait для element_to_be_clickable(), и вы можете использовать следующий на основе Стратегия локатора :

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//*[contains(., 'login or register')]"))).click()

Примечание : вам необходимо добавить следующие импорты:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
  • Снимок браузера:

Betway

0 голосов
/ 03 августа 2020

Пожалуйста, используйте поиск элемента с помощью xpath. Я тестировал этот код, чтобы щелкнуть «1-ю половину».

from selenium import webdriver
browser = webdriver.Chrome()
url = "https://sports.betway.com/en/sports/evt/6183972"
browser.get(url)
browser.find_element_by_xpath("/html/body/div/div/div[3]/div/div[1]/div/div[2]/div[4]/div/div[3]/div/div[2]/div/div[1]/div[2]/div/div/div[2]/div").click()
...