Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 无法获取Selenium来定位元素_Python 3.x_Selenium_Selenium Webdriver - Fatal编程技术网

Python 3.x 无法获取Selenium来定位元素

Python 3.x 无法获取Selenium来定位元素,python-3.x,selenium,selenium-webdriver,Python 3.x,Selenium,Selenium Webdriver,我正在尝试使用Selenium自动单击next_frame按钮,但我不知道为什么元素不能存储到next_frame变量中。如何获取next_frame变量以定位元素 from webdriver_manager.microsoft import EdgeChromiumDriverManager from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.

我正在尝试使用Selenium自动单击next_frame按钮,但我不知道为什么元素不能存储到next_frame变量中。如何获取next_frame变量以定位元素

from webdriver_manager.microsoft import EdgeChromiumDriverManager
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as conditions
from selenium.webdriver.common.by import By

driver = webdriver.Edge(EdgeChromiumDriverManager().install())

driver.implicitly_wait(15)


activity_name = WebDriverWait(driver, 10).until(conditions.visibility_of_element_located((By.ID, "activity-title")))
if activity_name.text == 'Instruction' or activity_name.text == 'Warm-Up' or activity_name.text == 'Summary':
    activity_status = driver.find_element_by_id('activity-status')

    while activity_status.text != "Complete":

        next_frame = driver.find_element_by_xpath('//*[@id="bottom-area"]/div[3]/ol/li[5]/a')

        next_frame.click()

        activity_status = driver.find_element_by_id('activity-status')

    driver.find_element_by_class_name('nav-icon').click()

else:
    pass
这是它给我的信息

    selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="bottom-area"]/div[3]/ol/li[5]/a"}

这是所有相关代码吗?我甚至不知道在哪里打开URL。如果xpath是正确的,最有可能的原因是,如果您获取的是NoTouchElement,它位于iframe或阴影根中。我将driver.get()放在一个函数中,但为了更简洁,我省略了它。哦,我明白了。它在一个iframe中。