Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.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 硒元素异常与特定网站_Python 3.x_Selenium_Selenium Chromedriver - Fatal编程技术网

Python 3.x 硒元素异常与特定网站

Python 3.x 硒元素异常与特定网站,python-3.x,selenium,selenium-chromedriver,Python 3.x,Selenium,Selenium Chromedriver,我最近尝试学习Selenium,发现一个网站忽略了我通过ID、名称或xpath查找特定元素的尝试。网址如下: 我试图选择第一个文本窗口,即标记为Uzytkownik的窗口,其代码如下所示: 我正试图用几种方法找到它: from selenium import webdriver browser = webdriver.Chrome() site = "https://www.creditview.pl/pl/creditview.htm" browser.get(site) login_

我最近尝试学习Selenium,发现一个网站忽略了我通过ID、名称或xpath查找特定元素的尝试。网址如下:

我试图选择第一个文本窗口,即标记为Uzytkownik的窗口,其代码如下所示:

我正试图用几种方法找到它:

from selenium import webdriver
browser = webdriver.Chrome()

site = "https://www.creditview.pl/pl/creditview.htm"
browser.get(site)

login_txt = browser.find_element_by_xpath(r"/html//input[@id='ud_username']")
login_txt2 = browser.find_element_by_id("ud_username")
login_txt3 = browser.find_element_by_name("ud_username")
无论我尝试什么,我都会得到: selenium.common.exceptions.NoSuchElementException:消息:无此类元素:无法定位元素:

好像元素根本就不存在

我怀疑包含该字段的小框架可能是iframe,并试图切换到各种元素,但运气不佳。还尝试检查元素是否在我的代码中被隐藏(隐藏元素)。似乎什么都不管用,或者我犯了一些新手错误,答案就在我面前。最后,我能够选择网站上的其他元素,并使用几个选项卡键将光标移动到所需的位置,但这感觉像作弊


有人能告诉我如何找到元素吗?我真的无法入睡,因为这个问题:)

鉴于您的元素存在,您仍然需要被加载/可见/可点击等。您可以使用selenium的


不幸的是,这没有起作用。代码似乎并不关心延迟,相反,它只是立即拒绝承认网站上存在这样的元素。错误代码仍然相同。您是否看到“10秒后未找到元素”?我得到:selenium.common.exceptions.NoSuchElementException:Message:没有这样的元素:无法找到元素:{“方法”:“xpath”,“选择器”:“/html//input[@id='ud_username']”由于代码中的try-except块,这不应该发生。你是在用笔记本电脑工作吗?如果是这样,请重新启动内核。对,我启动了错误的py脚本。傻,傻我。是的,你的解决方案有效,我很乐意应用它。非常感谢您的时间、帮助和耐心。
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.by import By 

my_XPATH = r"/html//input[@id='ud_username']"
wait_time = 10  # Define maximum time to wait in seconds

driver = webdriver.Chrome()
site = "https://www.creditview.pl/pl/creditview.htm"
driver.get(site)

try:
    my_element = driver.WebDriverWait(driver, wait_time).until(EC.presence_of_element_located(By.XPATH,my_XPATH))
except:
    print ("element not found after %d seconds" % (wait_time))