【问题标题】:find_element_by_xpath not working in headless mode pythonfind_element_by_xpath 在无头模式 python 下不起作用
【发布时间】:2021-06-13 00:14:45
【问题描述】:

我在 python 中使用 selenium,当我在非无头模式下运行它时,下面的代码工作正常,但是当我切换到无头模式时,它给了我这个错误:

raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate 
element: {"method":"xpath","selector":"//div[.='Renee']"}
(Session info: headless chrome=89.0.4389.82)

代码:

from seleniumwire import webdriver 
import sys
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.keys import Keys
import time
import pyaudio
import wave
import pyperclip
from selenium.webdriver.chrome.options import Options
import warnings


warnings.simplefilter(action='ignore', category=FutureWarning)    


browser_locale = 'fr'
chrome_options = Options()
#chrome_options.headless = True
chrome_options.add_argument("--headless")
chrome_options.add_argument("--lang={}".format(browser_locale))
# for linux/Ubuntu only
chrome_options.add_argument("--no-sandbox") 


browser = webdriver.Chrome(ChromeDriverManager().install(), chrome_options=chrome_options)
browser.get('https://www.ibm.com/demos/live/tts-demo/self-service/home')
voice = browser.find_element_by_xpath('//*[@id="downshift-2-toggle-button"]/span')
voice.click()
browser.find_element_by_xpath("//div[.='Renee']").click()
search = browser.find_element_by_xpath('//*[@id="text-area"]')
search.clear()
search.send_keys("text here")

任何帮助将不胜感激!!!

【问题讨论】:

    标签: python html selenium google-chrome


    【解决方案1】:
    browser_locale = 'fr'
    
    options = webdriver.ChromeOptions()
    options.add_argument("--lang={}".format(browser_locale))
    #options.headless = True
    
    options.add_argument("--headless")
    
    browser = webdriver.Chrome(options=options)
    
    browser.get('https://www.ibm.com/demos/live/tts-demo/self-service/home')
    browser.find_element_by_xpath('//*[@aria-labelledby="downshift-0-label downshift-0-toggle-button"]').click()
    browser.find_element_by_xpath(
        '//*[@class="bx--list-box__menu-item__option" and contains(text(),"German")]').click()
    browser.find_element_by_xpath(
        '//*[@aria-labelledby="downshift-0-label downshift-0-toggle-button"]').click()
    browser.find_element_by_xpath(
        '//*[@class="bx--list-box__menu-item__option" and contains(text(),"French")]').click()
    voice = browser.find_element_by_xpath(
        '//*[@id="downshift-2-toggle-button"]/span')
    voice.click()
    
    browser.find_element_by_xpath("//div[.='Renee']").click()
    
    search = browser.find_element_by_xpath('//*[@id="text-area"]')
    search.clear()
    search.send_keys("text here")
    

    只需再次选择语言以启用下拉菜单,在无头模式下显示为禁用,截图并检查

    【讨论】:

    • 像魅力一样工作,非常感谢您抽出宝贵时间
    猜你喜欢
    • 1970-01-01
    • 2017-12-09
    • 1970-01-01
    • 2019-09-07
    • 1970-01-01
    • 2022-12-18
    • 2020-11-30
    • 2020-04-12
    • 1970-01-01
    相关资源
    最近更新 更多