我正在尝试使用 python(selenium 和 beautiful soup)从该网站( https://www.ilcollege2career.com/#/ )抓取数据。
我的代码是这样的:
driver = webdriver.Chrome('my file path')
driver.get('https://www.ilcollege2career.com/#/')
first_click = WebDriverWait(driver,5).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="tutorial-modal"]/div/div/div/div[3]/button[1]')))
first_click.click()
second_click = WebDriverWait(driver,5).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="tutorial-start-modal"]/div/div/div[2]/div[2]')))
second_click.click()
所以我的问题是,虽然第一次单击有效并且进入了教程步骤,但将关闭教程的第二次单击却没有单击。由于某种原因 time.sleep() 有效,但我不想继续重复每一步。我做错了什么吗?
我也尝试过通过 css 查找元素。
谢谢。
最佳答案
第二次点击的 xpath 不准确,因为它没有将点击发送到正确的元素。试试这个,
driver.fullscreen_window()
driver.get('https://www.ilcollege2career.com/#/')
first_click = WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="tutorial-modal"]/div/div/div/div[3]/button[1]')))
first_click.click()
选项#1 -
second_click = WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH, "//button[@onclick='closeTutorial()']")))
second_click.click()
选项#2 -
second_click = WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH, "//div[@onclick='closeTutorial()']")))
second_click.click()
关于javascript - Python Selenium 按钮未被点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58544282/