【问题标题】:How to use multiple variables for xpath?如何为 xpath 使用多个变量?
【发布时间】:2023-01-21 00:19:20
【问题描述】:

我试图通过包含多个变量的 xpath 查找元素并单击它。

我尝试使用:

oddsnumber = "1.18"
oddstype = "Barcelona"
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//span[@span='"+ oddstype +"' and @span='"+ oddsnumber +"']"))).click()

只有一个变量它可以工作,但我需要使用多个变量才能使脚本单击正确的元素。

这是它应该点击的元素

<div class="gl-Participant gl-Participant_General gl-Market_General-cn3 "><span class="gl-Participant_Name">Barcelona</span><span class="gl-Participant_Odds">1.18</span></div>
     <span class="gl-Participant_Name">Barcelona</span>
     <span class="gl-Participant_Odds">1.18</span>

试图制作一个脚本,通过匹配多个变量的 xpath 点击元素

【问题讨论】:

  • “包含多个变量的元素”是什么意思?
  • 该元素有 2 个跨度,一个包含“oddsnumber”,另一个包含“oddstype”,我想通过使用 2 个变量找到该元素并单击它。
  • @JakeM,你想用多个span元素引用来识别div吗?
  • 是的,这就是我想做的

标签: python selenium selenium-webdriver


【解决方案1】:

您可以使用此 xpath,它以 div 元素为目标,该元素具有两个具有请求属性的 span 子元素

f"//div[child::span[text()='{oddsnumber}'] and span[text()='{oddstype}']]"

【讨论】:

    猜你喜欢
    • 2019-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多