selenium AWS Lambda中的Python Selify返回空的Html

m4pnthwp  于 2022-11-10  发布在  Python
关注(0)|答案(1)|浏览(151)

我使用的是Pythonse库来进行爬行,我的脚本是AWS上的lambdas。
我的配置如下所示:

def get_headless_driver():
    options = Options()
    options.binary_location = '/opt/headless-chromium'
    options.add_argument('--headless')
    options.add_argument('--no-sandbox')
    options.add_argument('--single-process')
    options.add_argument('--disable-dev-shm-usage')
    options.add_argument('--window-size=1920x1080')
    options.add_argument('--start-maximized')

    return webdriver.Chrome('/opt/chromedriver', chrome_options=options)

DIVER=Get_Headless_Driver()
我的脚本运行了几个月,然后它停止了,并出现了找不到元素的错误:

driver.find_element_by_xpath('//*[@id="x-widget-9"]/div[2]/div[1]/div/div/div[1]/div/div[8]/div[2]/div[1]/table/tbody[2]/tr/td[1]/div/div/div[1]').text

我试图改变元素(但它看起来好像什么都没找到)。我的驱动程序收到的HTML值为空,如下所示:

<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body></body></html>

我已经在本地(在我的电脑上,没有AWS lambdas)进行了测试,一切运行正常。
你知道什么会是个问题吗?

x4shl7ld

x4shl7ld1#

如果您的Selify版本高于4.3,请尝试执行以下操作:

driver.find_element('xpath','//*[@id="x-widget-9"]/div[2]/div[1]/div/div/div[1]/div/div[8]/div[2]/div[1]/table/tbody[2]/tr/td[1]/div/div/div[1]').text

link

相关问题