我正在尝试按一下网页上的标签,如下所示。不幸的是,尽管inspectchrome中正确的xpath,它似乎只点击了一些选项卡。我只能假设它没有点击所有的标签,因为没有使用完整的xpath。
但是。。 我尝试更改xpath:
//div[@class="KambiBC-collapsible-container KambiBC-mod-event-group-container"]
收件人:
//div[@class='KambiBC-event-groups-list']//div[@class="KambiBC-collapsible-container KambiBC-mod-event-group-container"]
用于:
clickMe = wait(driver, 10).until(EC.element_to_be_clickable((By.XPATH,'(//div[@class="KambiBC-collapsible-container KambiBC-mod-event-group-container"])[%s]' % str(index + 1))))
但问题依然存在。 我也尝试过使用CSS:
^{pr2}$但是这总是给我错误… 用于:
clickMe = wait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,'("#KambiBC-contentWrapper__bottom > div > div > div > div > div.KambiBC-quick-browse-container.KambiBC-quick-browse-container--list-only-mode > div.KambiBC-quick-browse__list.KambiBC-delay-scroll > div > div.KambiBC-time-ordered-list-container > div.KambiBC-time-ordered-list-content > div > div > div > header")[%s]' % str(index + 1))))
需要注意的是,我想点击所有未打开的选项卡,我似乎不能使用CSS选择器来找到足够具体的元素,因为我认为在这种情况下,它不允许您缩小class元素的范围。在
有没有办法绕过这个问题,不点击所有的东西?在
需要注意的是,我正在使用。。。在
对于索引中的索引:
indexes = [index for index in range(len(options))]
shuffle(indexes)
for index in indexes:
有没有更优雅的方式来使用for 1循环?在
[import sys
sys.exit()][1]
完整code
这将循环从每个联盟1到1的所有比赛,收集所有需要的相关数据。通过在每个查询前面加上
.
并通过match.find_element_by_xpath('.//your-query-here')
选择一个匹配项,可以在每个匹配中收集进一步的数据。让我知道这是否奏效!在OP's code without extra imports
发生此错误是因为site对操作所需的制表符的XPath不连续。它有一个缺口。例如,现在我找不到
//*[@id=“KambiBC-contentWrapper_ubottom”]/div/div/div/div[3]/div1/div/div[3]/div[2]/div/div[2]/header
前一段时间在游戏开始前,我找不到
//*[@id=“KambiBC-contentWrapper_ubottom”]/div/div/div/div[3]/div1/div/div[3]/div[2]/div/div[1]/header
当我谈到
index
时,我指的是上面粗体部分。当游戏上线时,标签会突然将索引从2变为1。(粗体部分更改)在这两种情况下,都存在间隙:要么找不到1,要么找不到2。在
我想,产生这种差距的原因是,两者之间还有一个元素是不可点击的。见下图。
这个
league
是造成这种差距的原因。因此,每当代码命中league
所占的索引时,它就会超时。因为League
按钮和其他选项卡会切换League
的位置,所以当位置发生变化时,索引会交换。(我想这就是为什么我首先找不到粗体部分为1的Xpath,后来又找不到粗体部分为2的原因。)下面是OP的一部分代码,你可以在末尾看到str(index+1)。在
解决方案
尝试捕获超时异常以跳过
^{pr2}$League
所占用的索引。您还可以保留一个计数器,以便在一个页面上只捕获一个超时异常。如果有第二次超时,您知道除了League
按钮之外还有其他问题,应该停止。在相关问题 更多 >
编程相关推荐