0

Python と Selenium Web ドライバーを使用して、HTML ページのボタンをクリックしようとしています。

これは、ページhttp://pastebin.com/112g1Gjeのソース コードです。

編集:関連する部分は最後にあります..「btn btn-primary」

私はこれを理解することに本当に近づいています:クラス名にはスペースが含まれていたので、スペースをドットに置き換えました...それが機能しました(別のSO投稿に感謝します)。

driver.find_element_by_css_selector(".btn.btn-primary").click()

今私が得るエラーは次のとおりです。

selenium.common.exceptions.ElementNotVisibleException: Message: Element is not currently visible and so may not be interacted with

だから私は次のようなことを試みています:

driver.execute_script('document.querySelector("btn.btn-primary").click()')

私の理解では、要素が表示されないため、代わりにボタンをクリックする JavaScript を作成する必要があります。しかし、それはうまくいきません。

私が得るエラーはほとんど読めません:

driver.execute_script('document.querySelector("btn.btn-primary").click()')
  File "/Users/Richie/anaconda/lib/python3.5/site-      packages/selenium/webdriver/remote/webdriver.py", line 461, in execute_script
    {'script': script, 'args':converted_args})['value']
  File "/Users/Richie/anaconda/lib/python3.5/site-     packages/selenium/webdriver/remote/webdriver.py", line 233, in execute
    self.error_handler.check_response(response)
  File "/Users/Richie/anaconda/lib/python3.5/site-  packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message:    document.querySelector(...) is null

誰でも知っていますか?

4

1 に答える 1

1
driver.find_element_by_css_selector(".btn.btn-lg.btn-block.btn-message.open-write-message").click()

間違ったものをクリックしていました。必ずドットを含めてください。

于 2016-06-04T02:30:28.220 に答える