我想使用selenium来使用python选择一个框架

时间:2016-05-27 06:41:09

标签: python selenium

我可以成功登录网页,但我需要点击/选择框架。这是我目前的代码:

    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')

2 个答案:

答案 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()