selenium自动化,已经定位到A标签的位置,但是点击A标签时不执行后台的js方法。

开发是使用的A标签代替btton去执行submit的方法,<a class="submit" id="submit" href="javascript: submit();">Submit</a>,但是这样能定位到a标签,但是不执行submit()后台的js方法,以下是我经过尝试后找到的解决方法,请大家参考~
这是C#代码写得(我这是自问自答喽):

string iw = driver.FindElement(By.Id("filedrag")).FindElement(By.Id("submit")).GetAttribute("href");
((IJavaScriptExecutor)driver).ExecuteScript(iw);

搞定~ 后面有类似问题的可以参考,有别的方法的欢迎补充:).

在定位第一个栏目并模拟点击时,无法使用click方法,原来是左边的图标遮挡了a标签,导致无法点击。 

driver.find_element_by_xpath("//a[text()='xxx']").click()

这个时候要使用ENTER方法:

from selenium.webdriver.common.keys import Keys

driver.find_element_by_xpath("//a[text()='xxx']").send_keys(Keys.ENTER)

扩展资料

Firebug和Firepath,基本上足够你去定位元素了,如果你对XPATH熟悉,Firebug一个就足够了。

主要的定位方式:id,name,identifier,js,link,css如果这些都不行,那么用xpath几乎能百发百中的

能用固定的属性,比如id,name(当然要唯一),tagname等的,尽量去用。没办法了再用XPATH,这样后期维护会省很多力气,减少因为程序员调皮改代码影响你的脚本。

开源和价格不谈以外,QTP有keyword view不会编程的照样做自动化,webdriver就会傻瞪眼,除非谁还把seleniumIDE挖出来玩玩。

温馨提示:答案为网友推荐,仅供参考