私はセレンコースをオンラインで受けており、ログインを自動化しています。講義は時代遅れで、使用しているウェブサイトは更新されています(Quora)。クラス名が変更されたdivを探す(セレン)
問題は、入力フィールドは役に立たない "find_element_by_id方法を作るランダムに生成されたクラス名を持っている、である。
私は別のセッションにログインする方法を見つけ出すことはできません。私はどのように選択することになります(別のクラス名を持つ)異なるセッション中にこれらのフィールドは。これは私のコードは次のようになります。事前にありがとうございます。私はコースの講師を依頼しようとしたが、彼はすべての週答えたhasnt。
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome(executable_path = r'/Users/mpbro17/Desktop/chromedriver')
driver.get('https://www.quora.com')
driver.find_element_by_id("__w2_fy0VXDC_email").clear()
driver.find_element_by_id("__w2_fy0VXDC_email").send_keys("[email protected]")
driver.find_element_by_id("__w2_fy0VXDC_password").clear()
driver.find_element_by_id("__w2_fy0VXDC_password").send_keys("testpassword1")
driver.find_element_by_id("__w2_fy0VXDC_submit_button").click()
代わりにERROR
Traceback (most recent call last):
File "/Users/mbpro/Desktop/projects/scraping_course/test_quora_login.py", line 13, in <module>
driver.find_element_by_name("email").clear()
File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 92, in clear
self._execute(Command.CLEAR_ELEMENT)
File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 494, in _execute
return self._parent.execute(command, params)
File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 192, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidElementStateException: Message: invalid element state: Element is not currently interactable and may not be manipulated
(Session info: chrome=53.0.2785.143)
(Driver info: chromedriver=2.24.417412 (ac882d3ce7c0d99292439bf3405780058fcca0a6),platform=Mac OS X 10.11.5 x86_64)
で行きます.exceptions.InvalidElementStateException:メッセージ:無効な要素の状態:要素をクリアするには、ユーザーが編集可能である必要があります。 – tafra