我可以成功登录网页,但我需要点击/选择框架。这是我目前的代码:
public bool IsChecked
{
get { return isChecked; }
set
{
isChecked = value;
CommandManager.InvalidateRequerySuggested();
}
}
这是帧源代码。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("URL")
Login = driver.find_element_by_name('login')
Login.send_keys("USER NAME")
Passwd = driver.find_element_by_name('password')
Passwd.send_keys("PSWD")
driver.find_element_by_name('login_submit').click()
driver.switch_to_default_content()
driver.find_element_by_link_text('Test')
答案 0 :(得分:0)
尝试使用selenium的execute_script方法通过jQuery或JavaScript执行click()操作。下面是将执行单击操作的示例代码。
driver.execute_script('elem = document.getElementById("Test_topic"); a = elem.getElementsByTagName("a")[0]; a.click()')
execute_script(script,* args)
在当前窗口/框架中同步执行JavaScript。
Args:脚本:要执行的JavaScript。 * args:JavaScript的任何适用参数。
用法: driver.execute_script('document.title')
答案 1 :(得分:0)
链接文字不是"测试"但是"测试规范"。试试这个:
driver.find_element_by_link_text('Test Spec')
此外,由于有一个,如果你通过它找到该元素会更好
driver.find_element_by_link_id('Test_topic').find_element_by_tag_name('a').click()
我个人更喜欢使用css:
driver.find_element_by_link_css_selector('div#Test_topic a').click()