Python Selenium-我可以只对几个URL禁用javascript吗?
我只需要对几个URL禁用javascript,即:Python Selenium-我可以只对几个URL禁用javascript吗?,python,firefox,webdriver,selenium-webdriver,Python,Firefox,Webdriver,Selenium Webdriver,我只需要对几个URL禁用javascript,即: browser.get('http://mydomain.com/page1') # some actions with JS off browser.get('http://mydomain.com/page2') # some actions with JS on browser.get('http://mydomain.com/page3') # some actions with JS on browser.get('http://my
browser.get('http://mydomain.com/page1')
# some actions with JS off
browser.get('http://mydomain.com/page2')
# some actions with JS on
browser.get('http://mydomain.com/page3')
# some actions with JS on
browser.get('http://mydomain.com/page4')
# some actions with JS off
我知道我可以在关闭JS的情况下将firefox配置文件传递给webdriver.firefox()
,但这将适用于所有页面。我认为为每个页面创建新的webdriver.Firefox()
实例不是一个好主意
解决这个问题的最好办法是什么?蒂亚 将测试分为两大组。一个组在禁用JS的情况下运行所有测试,另一个组在启用JS的情况下运行 这样,您只需支付初始设置成本两次(而不是每次测试一次) 或者,您可以以这样一种方式组织JS,即所有内容都通过一个全局符号(jQuery使用
$
)
现在您需要两个框架实现。一个是普通实现,另一个是模拟/无操作实现,当调用它的函数时,它什么都不做
然后可以使用browser.executeScript()
将其中一个实现分配给全局符号
不过,有几个缺点:
因此,我建议尝试“两组”方法:-)是否需要在单个测试中启用/禁用javascript?或者每个url都有不同的测试?