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/0/vba/16.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 消息:没有这样的元素:无法定位元素_Python_Selenium - Fatal编程技术网

Python 消息:没有这样的元素:无法定位元素

Python 消息:没有这样的元素:无法定位元素,python,selenium,Python,Selenium,我不是程序员,但我喜欢自动化的东西,而且还在学习。请告诉我 我的问题是: 我使用Python Selenium登录了Anywhere Conference.com网站,并尝试以主持人模式登录,但找不到这些元素。问题是,登录容器隐藏在版主容器下,需要先单击 代码 ntt = webdriver.Chrome() ntt.get("https://anywhereconference.com") ntt.set_window_size(1500, 800) ntt.impl

我不是程序员,但我喜欢自动化的东西,而且还在学习。请告诉我

我的问题是: 我使用Python Selenium登录了Anywhere Conference.com网站,并尝试以主持人模式登录,但找不到这些元素。问题是,登录容器隐藏在版主容器下,需要先单击

代码

ntt = webdriver.Chrome()

ntt.get("https://anywhereconference.com")

ntt.set_window_size(1500, 800)

ntt.implicitly_wait(10)

mode = ntt.find_element_by_xpath('//*[@id="arka-login-moderator-type-button-header"]').click()

login = ntt.find_element_by_xpath('//*[@id="arka-login-moderator-weblogin"]')

login.send_keys('XXX')

login.send_keys(Keys.ENTER)
错误

raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="arka-login-moderator-type-button-header"]"}
  (Session info: chrome=84.0.4147.89)
单击元素

div id="arka-login-moderator" class="arka-login-button arka-login-moderator-button ui-button ui-widget ui-state-default ui-button-text-only ui-corner-left ui-corner-right arka-login-moderator-selected ui-state-active ready">

    <span class="ui-button-text">
        div id="arka-login-moderator-type-button-header" class="arka-login-type-button-header">I'm a moderator / admin</div
        div id="arka-login-moderator-type-button-text" class="arka-login-type-button-text">Start or schedule a meeting</div
    </span>
mode = ntt.find_element_by_xpath(
    '//*[@id="arka-login-moderator-type-button-header"]')
    .click()
    ntt.execute_script("$(arguments[0]).click();", mode)
示例2 JavaScript

div id="arka-login-moderator" class="arka-login-button arka-login-moderator-button ui-button ui-widget ui-state-default ui-button-text-only ui-corner-left ui-corner-right arka-login-moderator-selected ui-state-active ready">

    <span class="ui-button-text">
        div id="arka-login-moderator-type-button-header" class="arka-login-type-button-header">I'm a moderator / admin</div
        div id="arka-login-moderator-type-button-text" class="arka-login-type-button-text">Start or schedule a meeting</div
    </span>
mode = ntt.find_element_by_xpath(
    '//*[@id="arka-login-moderator-type-button-header"]')
    .click()
    ntt.execute_script("$(arguments[0]).click();", mode)

更改xpath,如下所示

mode = ntt.find_element_by_xpath("//*[@id='arka-login-moderator-type-button-header']").click()

login = ntt.find_element_by_xpath("//*[@id='arka-login-moderator-weblogin']")

请尝试以下代码,如果页面上存在iframe,则在处理web元素之前,您需要先切换ifraame:

from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome(executable_path=r" path to chromedriver.exe")
driver.get("https://www.anywhereconference.com/")
driver.maximize_window()
iframe = WebDriverWait(driver, 20).until(
     EC.presence_of_element_located((By.NAME, 'globalFrameCenter')))
driver.switch_to.frame(iframe)

wait = WebDriverWait(driver, 30)

element = wait.until(EC.element_to_be_clickable((By.XPATH, "//div[@id='arka-login-moderator']//span"))).click()
actionChains = ActionChains(driver)
element = wait.until(EC.element_to_be_clickable((By.XPATH, "//input[@id='arka-login-moderator-weblogin']"))).send_keys("Test")
wait.until(EC.element_to_be_clickable((By.XPATH, "//input[@id='arka-login-moderator-pin']"))).send_keys("Test")
输出:


首先,您缺少一堆开始和结束标记。我试图使你的代码更具可读性。例如,在Click元素中,您的
没有开始
谢谢您的建议谢谢。不幸的是,即使我编辑了引号,定位元素的错误仍然是一样的。