Javascript Python Selenium按钮不是';不要被点击
我正在尝试使用python(selenium和beautiful soup)从这个网站()中获取数据 我的代码是:Javascript Python Selenium按钮不是';不要被点击,javascript,python,html,python-3.x,selenium,Javascript,Python,Html,Python 3.x,Selenium,我正在尝试使用python(selenium和beautiful soup)从这个网站()中获取数据 我的代码是: 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="tutori
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不准确,因为它没有发送click-to-correct元素。试试这个
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()
第二次单击的xpath不准确,因为它不发送click-to-correct元素。试试这个
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()
我为那些正在寻找它的人找到了解决办法
invisible = WebDriverWait(driver, 10).until(EC.invisibility_of_element_located((By.ID, 'tutorial-modal')))
if invisible:
后面有一个无法关闭的东西,所以我永远无法关闭它,通过这样做,我可以退出。我为那些正在寻找它的人找到了解决方案
invisible = WebDriverWait(driver, 10).until(EC.invisibility_of_element_located((By.ID, 'tutorial-modal')))
if invisible:
后面运行的某个东西无法关闭,因此我无法关闭它,通过这样做,我可以退出。我尝试了XPATH,结果得到了一个元素单击截获异常:元素。。。在点(600667)处不可单击。其他元素将收到单击:。。。(会话信息:chrome=78.0.3904.70)尝试将窗口设置为全屏。请参阅更新的回答。这次我没有发现异常,它运行了,但我仍然遇到了与最初相同的问题,它没有在教程中结束。我能够修复它。非常感谢你的投入。发生的问题是,仍然有一些东西在后台运行,所以它永远不会点击出去,所以我通过执行WebDriverWait(driver,10)修复了这个问题,直到(EC.invisibility_of_element_located((by.ID,'tutorial modal'))我尝试了XPATH,最后得到了一个元素click intercepted异常:元素。。。在点(600667)处不可单击。其他元素将收到单击:。。。(会话信息:chrome=78.0.3904.70)尝试将窗口设置为全屏。请参阅更新的回答。这次我没有发现异常,它运行了,但我仍然遇到了与最初相同的问题,它没有在教程中结束。我能够修复它。非常感谢你的投入。发生的问题是,仍然有一些东西在后台运行,所以它永远不会点击出去,所以我通过执行WebDriverWait(driver,10)修复了这个问题。直到(EC.invisibility_of_element_located((by.ID,'tutorial modal'))然后是if语句,然后它就工作了。