0

我正在尝试用硒点击“转推”。我用javascript找到了这种方式:

document.querySelector('[data-testid="retweet"]').click()
document.querySelector('[data-testid="retweetConfirm"]').click()

所以我在selenium中实现了这样的东西:

firstJS = "document.querySelector('[data-testid=\"retweet\"]').click()"
secondJS  ="document.querySelector('[data-testid=\"retweetConfirm\"]').click()"
time.sleep(5)
driver.execute_script(firstJS)
time.sleep(3)
driver.execute_script(secondJS)

我得到这个错误:

Traceback (most recent call last):
  File "C:\Users\Riccardo\Desktop\ProxyGiveaway\config.py", line 75, in <module>
    main()
  File "C:\Users\Riccardo\Desktop\ProxyGiveaway\config.py", line 67, in main
    retweet(link, driver)
  File "C:\Users\Riccardo\Desktop\ProxyGiveaway\config.py", line 43, in retweet
    driver.execute_script(firstJS)
  File "C:\Users\Riccardo\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 636, in execute_script
    'args': converted_args})['value']
  File "C:\Users\Riccardo\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\Riccardo\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.JavascriptException: Message: javascript error: Cannot read property 'click' of null
  (Session info: chrome=1.2.3.4)

编辑:我添加了一些time.sleep(),第一行有效,但不是第二行

4

1 回答 1

0

这可能是由于页面加载尝试添加等待页面加载。

于 2019-08-21T13:54:20.900 回答