【问题标题】:Navigate website with selenium. Click() not working使用 selenium 浏览网站。点击()不工作
【发布时间】:2020-08-03 20:02:35
【问题描述】:

编辑:在另一场比赛开始时改为湖人队比赛

我正在学习如何在网上抓取投注赔率,我整天都被这个问题所困扰。当我加载这个网站 Betway 时,它会进入“主要市场”(见下图)。我想去其他标签,例如“游戏道具”或“上半场”。

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()

在其他网站上,我可以使用 find by elements 函数,然后使用 click() 函数来浏览页面。我不能让他们在这个网站上工作。我包含的底部图像是我检查时网站上的代码。我真的很感激这里的一些建议!

【问题讨论】:

  • 请提供您的click 代码,以便我们知道您如何访问该元素
  • @MZ 我已经更新了我正在做的事情。我从底部屏幕截图的选定行中获得了 Xpath。
  • 我似乎找不到那个特定元素 - xpath 在浏览器中不起作用
  • 游戏开始了,所以我认为链接已经改变。我会尝试用新链接加入一个新游戏

标签: python selenium-webdriver xpath web-scraping webdriverwait


【解决方案1】:

到标签上的click(),文本为游戏道具,您必须为element_to_be_clickable()诱导WebDriverWait,您可以使用以下基于Locator Strategy

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
  • 浏览器快照:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-28
    • 2020-09-19
    相关资源
    最近更新 更多