【发布时间】:2022-01-28 01:58:24
【问题描述】:
请参考下面的截图和 HTML 代码。有两个按钮/链接名称中包含“Indiana -4.5”和“Indiana”。我正在尝试识别第一个也具有“-4.5”的数字,但是随着它的变化,我不知道该数字是什么。名称“Indiana”后面可以跟一个“+”、“-”,然后再跟一个一位或两位十进制数。
仅将“Indiana”作为变量,我如何选择“Indiana -4.5”而不是“Indiana”链接/按钮。谢谢!
页面链接:https://prolineplus.olg.ca/en-ca/event/?e64240-NBA-Basketball-USA-Indiana-Charlotte
def proline_go_to_match2(driver, team):
team = "Indiana"
print(team)
try:
match = WebDriverWait(driver, 15).until(
EC.presence_of_element_located((By.XPATH, "//*[@title= '" + team + "']"))
)
match.click()
except:
driver.quit()
我不知道如何让 Seleium 识别此链接,希望您的帮助!!
这是 HTML 元素
这是第一个链接/按钮:
<span class="fdjgs-outcome-wrapper" aria-pressed="true" role="button" tabindex="0" aria-label="Bet for Charlotte @ Indiana - Indiana -4.5 at 2.10" title="Indiana -4.5"><span class="fdjgs-description">Indiana -4.5</span><span class="fdjgs-price">2.10</span></span>
这是第二个链接/按钮:
<li class="fdjgs-outcome" title="Indiana" data-state="unselected" data-direction="" data-unpriced="false" data-hidden="false" data-resulted="false" data-suspended="false"><span class="fdjgs-outcome-wrapper" aria-pressed="false" role="button" tabindex="0" aria-label="Bet for Charlotte @ Indiana - Indiana at 1.65" title="Indiana"><span class="fdjgs-description">Indiana</span><span class="fdjgs-price">1.65</span></span></li>
【问题讨论】:
-
您正在寻找子字符串
INDIANA,但实际文本包含Indiana。 -
@PaulM。非常感谢!我不敢相信我忽略了这一点,您的解决方案奏效了!祝你有美好的一天。
-
@PaulM。嗨,保罗,通过更改代码确实可以工作,但是它正在选择我不打算选择的按钮/链接。我已经更新了我的问题,你可以看看吗?
-
@jwalman 你能分享一个指向那个页面的链接或者至少是它的 HTML 吗?为了创建正确的定位器,我们需要查看整个页面,而不仅仅是那里的单个元素
-
@Prophet 您好,感谢您的关注!我已添加到页面的链接。我还更新了代码。显示的内容将单击第二个“Indiana”框,而不是“Indiana -4.5”
标签: python selenium selenium-webdriver web-scraping selenium-chromedriver