element = driver.find_element_by_xpath("element_xpath")
driver.execute_script("var ele = arguments[0];ele.addEventListener('click', function() {ele.setAttribute('automationTrack','true');});",element)
element.click()
# now check the onclick attribute
print(element.get_attribute("automationTrack"))
4条答案
按热度按时间kmbjn2e31#
你可以添加一个监听器到元素和setAttribute作为javascript的一部分。
下面的代码会在你点击元素时发出警告。(用Python实现- execute_script = javascript execution)
输出:
wgmfuz8q2#
ecbunoof3#
您可以让try-catch块为您做这件事。
ztyzrc3y4#
受@supputuri的启发,我提出了这个使用Junit测试的Java解决方案,尽管我需要做的主要更改是在JS中。
我选择了一个外部变量来存储点击结果,因为我的按钮在点击后即将从dom中消失。我不认为您可以请求属于不存在元素的数据。使用之前创建的Javascript Executor执行JS以实际添加侦听器:
点击并检索值: