我用selenium用python写了一个脚本。该脚本应该单击网页上的某些链接。当我运行脚本时,它确实单击了第一个链接,然后抛出错误preConditions
而不是追逐下一个链接。在过去的几个小时中,我进行了大量搜索,以找到解决该错误的方法,但是没有运气。
我对他们的数据不感兴趣,因此,除点击功能外,其他任何解决方案都不是我想要的。如何单击链接直到最后一个链接?
这是我到目前为止的尝试:
stale element reference: element is not attached to the page document
答案 0 :(得分:1)
您可以尝试以下代码:
def click_links(driver,url):
driver.get(url)
links_len = len(wait.until(EC.presence_of_all_elements_located((By.CLASS_NAME, "result-row__item-hover-visualizer"))))
for index in range(links_len):
cookies_bar = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '[data-bind="visible: showCookieDialog"]')))
driver.execute_script("arguments[0].hidden='true';", cookies_bar)
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, 'button[data-track="click-show-more"]'))).click()
entry = wait.until(EC.presence_of_all_elements_located((By.CLASS_NAME, "result-row__item-hover-visualizer")))[index]
entry.click()
time.sleep(3)
driver.back()