2016-10-18 10 views
0

私はyoutubeの時計を後で削除したいと思います。私のコードは機能しません。後でyoutubeの時計をセレンで削除する方法は?

<button class="yt-uix-button yt-uix-button-size-default yt-uix-button-default yt-uix-button-empty yt-uix-button-has-icon no-icon-markup pl-video-edit-remove yt-uix-tooltip" type="button" onclick=";return false;" title="Remove"></button> 

私のコードはこれです。

_sDriver.get('https://www.youtube.com/playlist?list=WL') 
_sDriver.find_element_by_class_name('pl-video-edit-remove').click() 

例外はこれです。

>>> _sDriver.find_element_by_class_name('pl-video-edit-remove') 
    <selenium.webdriver.remote.webelement.WebElement (session="283d423c-5ff7-478f-89 
    b9-002499413126", element="{e00dbb1e-e0ca-4f79-8652-23c955b464e7}")> 
>>> _sDriver.find_element_by_class_name('pl-video-edit-remove').click() 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webelement.py", 
    line 72, in click 
    self._execute(Command.CLICK_ELEMENT) 
    File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webelement.py", 
line 461, in _execute 
    return self._parent.execute(command, params) 
    File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", l 
ine 236, in execute 
    self.error_handler.check_response(response) 
    File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py" 
, line 192, in check_response 
    raise exception_class(message, screen, stacktrace) 
selenium.common.exceptions.ElementNotVisibleException: Message: Element is not c 
urrently visible and so may not be interacted with 
Stacktrace: 
    at fxdriver.preconditions.visible (file:///c:/users/admini~1/appdata/local/t 
emp/tmppqz9zq/extensions/[email protected]/components/command-processor.js 
:10092) 
    at DelayedCommand.prototype.checkPreconditions_ (file:///c:/users/admini~1/a 
ppdata/local/temp/tmppqz9zq/extensions/[email protected]/components/comman 
d-processor.js:12644) 
    at DelayedCommand.prototype.executeInternal_/h (file:///c:/users/admini~1/ap 
pdata/local/temp/tmppqz9zq/extensions/[email protected]/components/command 
-processor.js:12661) 
    at DelayedCommand.prototype.executeInternal_ (file:///c:/users/admini~1/appd 
ata/local/temp/tmppqz9zq/extensions/[email protected]/components/command-p 
rocessor.js:12666) 
    at DelayedCommand.prototype.execute/< (file:///c:/users/admini~1/appdata/loc 
al/temp/tmppqz9zq/extensions/[email protected]/components/command-processo 
r.js:12608) 

私はこのために何ができるのでしょうか。 私はあなたの助けが必要です。 ありがとうございます。

+0

例外はありますか? – Andersson

+1

それは私の最後に働いています。例外がある場合は、それを共有してください。 – kb4shubham

+0

例外が追加されました – User8392

答えて

0

クリックしようとしている要素が正常に表示されません。マウスの上にマウスを置くと表示されます。したがって、マウスオーバーイベントをクリックして起動するか、動作するか試してみてください。

もう1つの解決策は、JavaScriptを実行しようとすることです。

driver.execute_script("document.getElementsByClassName('pl-video-edit-remove')[0].click()") 

スクリプトは私の最後で働いています。

ページを正しく読み込むためには、スクリプトを実行する前に少し待たなければならない場合があります。

+0

ありがとうございます。私はこの問題を解決しました! – User8392

関連する問題