将 Selenium WebElement 传递给 WebDriverWait

Pass a Selenium WebElement to WebDriverWait

我正在尝试单击 Javascript link,但无法正常工作。 首先,我使用以下代码获取链接列表:

links = driver.find_elements_by_xpath("(//div[@class='market-box-wp collapse in'])[1]//a[@class='truncate']")

然后尝试点击其中的一些

links[3].click() #Doesn't work

我在网上找到了 Javascript links 的解决方案,但它使用的是 xPath,不确定如何将 links[3] 传递给它:

WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.XPATH,"Xpath of Element"))).click()

你可以使用 xpath indexing :-

看到这是xpath

(//div[@class='market-box-wp collapse in'])[1]//a[@class='truncate']

现在要找到 第三项,您可以这样做:

((//div[@class='market-box-wp collapse in'])[1]//a[@class='truncate'])[3]

并像这样使用它:

WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.XPATH,"((//div[@class='market-box-wp collapse in'])[1]//a[@class='truncate'])[3]"))).click()