ubuntu 服务器下 selenium 自动回复程序报错

MagicalE:小白刚开始学习 python,打算写个贴吧自动回复的程序练练手。

本来在 Windows 下已经调试好了,原代码如下:

from selenium import webdriver
from time import sleep

def cookie():
    cookies='''
    BDUSS=xxxx
    STOKEN=xxxx
    '''
    for lines in cookies.split():
        name = lines.split('=')[0]
        value = lines.split('=')[1]
        browser.add_cookie({"name":name,"value":value})
    browser.refresh()

def reply():
    content = 'test'
    js = "document.getElementById('ueditor_replace').innerHTML='%s'" % content
    browser.execute_script(js)
    browser.find_element_by_css_selector('.poster_submit').click()

def main():
    browser.get('https://tieba.baidu.com/p/xxxxxxxxx')
    sleep(5)
    cookie()
    browser.execute_script("window.scrollTo(0,document.body.scrollHeight);")
    sleep(5)
    reply()
    sleep(5)
    browser.close()

browser = webdriver.Chrome()
if __name__ == '__main__':
    main()

放在 Ubuntu 服务器上却有些问题>﹏<

由于服务器没有图形界面,运行时会报错:

selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally.

查了一下需要设置为无头浏览器模式,于是添加了以下部分:

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--no-sandbox')
browser = webdriver.Chrome(options=chrome_options)

可以正常运行 selenium 后,又报 JS 代码的错误

selenium.common.exceptions.JavascriptException: Message: javascript error: Cannot set property 'innerHTML' of null

说 reply 部分的 JS 代码将 innerHTML 设置为空,但我没有设置为空呀,不懂 JS,真心求教!

Selenium:如何使RemoteDriver始终附加到当前的浏览器选项卡? - javascript

我正在开发一个Windows应用程序,该应用程序可以通过语音命令操纵浏览器。我想适当地处理用户添加一些标签并根据需要更改所选标签的情况。事实证明,RemoteDriver仅与一个选项卡一起使用,并且可以通过提供选项卡手柄将焦点切换到另一个选项卡。但是我不知道如何获取选定的选项卡句柄并始终检查选定的选项卡是否已更改,或者是否存在始终与选定的选项卡一起使用的方法…

Python Selenium:无法单击按钮 - javascript

我是python的新手,并且想编写一个网络抓取工具,其中涉及在弹出窗口中单击鼠标“确定”按钮。其他一切都进行得很好,但是我无法单击最终按钮,导致数据下载。javascript如下:我尝试通过ID查找元素,但出现以下错误消息: 参考方案 find_elements_by_id返回元素列表。遍历find_elements_by_id返回的列表,或使用find_e…

Selenium Grid显示WebDriverException错误 - java

我的Selenium网格显示错误:org.openqa.selenium.WebDriverException: The path to the driver executable must be set by the webdriver.chrome.driver system property;但我已经完美地指定了它(据我所知)System.out.pr…

org.openqa.selenium.WebDriverException:未知错误:Chrome无法启动:在Jenkinson Ubuntu 18.04中使用ChromeDriver Selenium导致崩溃 - java

Chrome在我的Jenkins上不稳定。当我运行5次构建时,它运行1-2次成功,而其他3次出现上述错误。错误快照: Chrome的代码:ChromeOptions options = new ChromeOptions(); System.setProperty("webdriver.chrome.driver","/usr/…

Selenium(C#),使用JavaScript查找元素失败 - javascript

我正在尝试使用JavaScript查找网络元素。找到第一个元素。当我使用类似的代码查找另一个元素时,将获得null引用。例外。当我在开发人员工具(F12)中输入代码时,正在找到元素。这是我使用的代码:IJavaScriptExecutor js = Driver as IJavaScriptExecutor; IWebElement ChangeAccess…