是否可以在“无头”模式下使用Selenium switch_to.frame函数?

时间:2019-01-26 01:14:53

标签: python selenium selenium-chromedriver

当我的代码不在无头模式下时,我的代码可以正确运行,但是我需要在服务器上运行它。因此,当我启用无头模式并尝试转到特定的帧(由于JavaScript)时,出现错误。是否可以在无头模式下在框架之间切换,还是有另一种方法来查找元素并在嵌套框架中单击该元素?

用于Ubuntu 18,Python 3.6,硒3.141.0,chromedriver70。

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import os

chrome_dir = os.path.realpath('chromedriver')
opts = Options()

opts.add_argument('--headless')
opts.add_argument("--start-maximized")
opts.add_argument("--ignore-certificate-errors")

driver = webdriver.Chrome(chrome_dir, options=opts)
driver.get(url)

driver.switch_to_default_content
driver.switch_to.frame('faci1')

NoSuchFrameException: Message: no such frame

它需要先转到框架,然后我才能找到该元素并单击它:

driver.find_element_by_xpath('//*[@id="F80351"]')

0 个答案:

没有答案