单击含硒的DIV

时间:2019-08-21 13:19:28

标签: python selenium

我试图用硒单击“转发”。 我通过 javascript 找到了这种方式:

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

因此,我在中实现了以下内容:

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(),第一行有效,但第二行无效

1 个答案:

答案 0 :(得分:0)

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