簡體   English   中英

Python selenium 無法通過 id 找到元素

[英]Python selenium can't find element by id

開始學習python selenium,遇到一個小問題

>>> from selenium import webdriver
>>> dr = webdriver.Chrome('C:/Users/Dima/Desktop/chromedriver.exe')
>>> dr.get('https://www.instagram.com/accounts/login/?source=auth_switcher')
>>> pole = dr.find_element_by_id('f213cb817d764e4')
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    pole = dr.find_element_by_id('f213cb817d764e4')
  File "C:\Users\Dima\AppData\Local\Programs\Python\Python37-32\lib\site- 
packages\selenium\webdriver\remote\webdriver.py", line 360, in 
find_element_by_id
return self.find_element(by=By.ID, value=id_)
File "C:\Users\Dima\AppData\Local\Programs\Python\Python37-32\lib\site- 
packages\selenium\webdriver\remote\webdriver.py", line 978, in find_element
    'value': value})['value']
  File "C:\Users\Dima\AppData\Local\Programs\Python\Python37-32\lib\site- 
packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
  File "C:\Users\Dima\AppData\Local\Programs\Python\Python37-32\lib\site- 
packages\selenium\webdriver\remote\errorhandler.py", line 242, in 
  check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: 
Unable to locate element: {"method":"id","selector":"f213cb817d764e4"}
  (Session info: chrome=71.0.3578.98)
  (Driver info: chromedriver=2.45.615291 
(ec3682e3c9061c10f26ea9e5cdcf3c53f3f74387),platform=Windows NT 10.0.17763 
x86_64)

我可以做什么? 我從文檔中做所有事情,但它不起作用。

@id是動態生成的,因此每次運行腳本時都會有所不同。 如果要選擇用戶名輸入字段,請嘗試按@name選擇:

dr.find_element_by_name('username')

Instagram 上用戶send_keys()段是React Native元素,因此您必須誘導WebDriverWait然后調用send_keys()方法,如下所示:

WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[name='username']"))).send_keys("ITishnik_ArtStudio")

注意:您必須添加以下導入:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM