我只是编写一个脚本来点击Flipkart / Paytm上的登录/注册链接,但每次我运行脚本时我都没有得到这样的元素异常。
请仔细查看脚本并帮助我。
公共课试试{
WebDriver driver = null;
@Before
public void setUp() throws Exception {
String basePath = System.getProperty("user.dir");
//System.out.println(basePath);
String finalPath = basePath + "\\IEDriver\\IEDriverServer.exe";
//System.out.println(finalPath);
System.setProperty("webdriver.ie.driver", finalPath);
driver = new InternetExplorerDriver();
driver.get("http://flipkart.com");
}
@After
public void tearDown() throws Exception {
driver.close();
}
@Test
public void test() throws InterruptedException {
driver.manage().window().maximize();
driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
System.out.println("a");
//Thread.sleep(5000);
driver.findElement(By.xpath("//*[@id='container']/div/div/header/div[2]/div/div[1]/ul/li[7]/a")).click();
//driver.findElement(By.partialLinkText("Log in")).click();
System.out.println("hie");
}
}
答案 0 :(得分:1)
使用链接文本时,您需要非常具体地说明套管。我可以看到链接文本是“登录”,带有大写字母I.
使用此:
driver.findElement(By.partialLinkText("Log In")).click();
适用于所有浏览器。
答案 1 :(得分:0)
在Python中,我已成功在Flipkart网站上执行此操作:
login_link = driver.find_element_by_link_text('Log In')
login_link.click()
另一种解决方案:
如果您没有测试登录按钮本身,您也可以直接导航到/account/login
页面,以防Flipkart(未验证PayTM)。路径名称似乎是静态的,您不必担心在主页上获取登录按钮的确切定位器。
例如:driver.get('https://www.flipkart.com/account/login')
。