不同于“HTML元素定位”那一篇,本篇主要記錄selenium的各種控制操作。
1、修改頁(yè)面元素屬性。
需求場(chǎng)景:以<a>標(biāo)簽為例,當(dāng)我們不希望新開(kāi)tab或窗口打開(kāi)鏈接時(shí),需要修改<a>的target屬性為_(kāi)self。
解決思路:似乎webdriver并不能改變頁(yè)面的原始信息,但卻提供了可以操作javascript腳本的接口,通過(guò)javascript可以順利修改元素屬性。
具體實(shí)現(xiàn):driver.execute_script(script, *args)
1 def execute_script(self, script, *args):
2 """
3 Synchronously Executes JavaScript in the current window/frame.
4
5 :Args:
6 - script: The JavaScript to execute.
7 - *args: Any applicable arguments for your JavaScript.
8
9 :Usage:
10 driver.execute_script('document.title')
11 """
12 if len(args) == 1:
13 converted_args = args[0]
14 else:
15 converted_args = list(args)
16 converted_args = list(args)
17 return self.execute(Command.EXECUTE_SCRIPT,
18 {'script': script, 'args':converted_args})['value']
eg: browse.execute_script("arguments[0].target='_self'", a)