小编Kub*_*ski的帖子

无法在带有无头 chrome 的网页上定位元素

我有一个访问打印机的脚本,当 chrome 正常运行时,我的代码完全正常,但是当它无头运行时,selenium 似乎无法在网页上找到元素。

这是相关的代码:

初始化方法:

def __init__(self, ip_address):
    """ Initialize a new Printer_Webpage object."""
    self.ip_address = ip_address
    chrome_options = Options()
    chrome_options.add_argument("--headless")
    chrome_options.add_argument("--disable-gpu")
    chrome_options.add_argument("--window-size=1920x1080")
    self.browser = webdriver.Chrome(chrome_options=chrome_options)
    # Ignore lack of cert for each printer web page.
    # Otherwise, can't open page.
    self.browser.accept_untrusted_certs = True
Run Code Online (Sandbox Code Playgroud)

登录方式:

def login(self):
    """Navigates through the login page for the printer."""
    # Open login page
    self.browser.get(f'https://{self.ip_address}/wcd/top.xml')
    # STEPS TO LOGIN:
    # 1) Select 'Administrator' radio button and click.
    self.browser.find_element_by_id('Admin').click()
    # 2) Select Login button and …
Run Code Online (Sandbox Code Playgroud)

python selenium google-chrome selenium-chromedriver google-chrome-headless

7
推荐指数
3
解决办法
1万
查看次数