Python 应该是简单的XPATH吗?

Python 应该是简单的XPATH吗?,python,selenium,xpath,web-scraping,Python,Selenium,Xpath,Web Scraping,使用Python和Selenium,我试图单击包含文本的链接。在这种情况下,说14:10,这就是我要找的DIV <div class="league_check" id="hr_selection_18359391" onclick="HorseRacingBranchWindow.showEvent(18359391);" title="Odds Available"> <span class="race-status">

使用Python和Selenium,我试图单击包含文本的链接。在这种情况下,说14:10,这就是我要找的DIV

<div class="league_check" id="hr_selection_18359391" onclick="HorseRacingBranchWindow.showEvent(18359391);" title="Odds Available">                <span class="race-status">                    <img src="/i/none_v.gif" width="12" height="12" onclick="HorseRacingBranchWindow.toggleSelection(18359391); cancelBubble(event);">                </span>14:10 *            </div>
据我所知,该页面上没有其他链接包含文本14:10,但当我循环浏览链接并打印出来时,它基本上显示了该页面上的每个链接

我试着把它缩小到那个类名并包含文本

justtime = "14:10"
links = Driver.find_elements_by_xpath("//div[contains(.,justtime) and (contains(@class, 'league_check'))]")

它根本不会返回任何东西。我真的很困惑,这对我来说毫无意义。

目前,您的XPath没有使用
justtime
python变量。相反,它引用子元素
,该子元素在
中不存在。形式为
的表达式包含(,不存在元素)
将始终求值为
True
,因为
不存在元素
在这里转换为空字符串。这可能是初始XPath返回的元素比预期的多的原因之一

尝试使用字符串插值将
justtime
变量中的值合并到XPath中,不要忘记用引号括起该值,以便正确地将其识别为XPath文本字符串:


您需要使用wait-for元素

wait = WebDriverWait(driver, 10)
element = wait.until(EC.element_to_be_clickable((By.ID,'someid')))

谢谢你抽出时间来看看。我现在更明白这是怎么回事了,但我试着这样做,链接没有任何结果,即使我可以看到14:10的div,也没有结果。非常烦人。@PoweredByCoffee-这是
帧中的
div
吗?如果是,请确保切换到.Aah中给出的
,这很有意义。我会看一看。问题中已经涉及到这是doe数据。
justtime = "14:10"
links = Driver.find_elements_by_xpath("//div[contains(.,'%s')]" % justtime)
wait = WebDriverWait(driver, 10)
element = wait.until(EC.element_to_be_clickable((By.ID,'someid')))