首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过Selenium关注JavaScript链接(无链接文本)

如何通过Selenium关注JavaScript链接(无链接文本)
EN

Stack Overflow用户
提问于 2018-04-08 00:15:41
回答 1查看 163关注 0票数 4

我正试图在工作中完成一个项目,在这个项目中,我自动获取所有打印机的每日点击次数。佳能iR5070有一个网络界面,但它需要几次点击才能到达,我无法执行链接点击或关注。

我想要访问的链接在这个HTML中。

代码语言:javascript
复制
<a href="javascript:load_device()" >
    <img src="en/media/bm10.gif" border="0", alt="Device Information", title="Device Information">
</a>

如果它有帮助,这就是正在讨论的javascript函数:函数:

代码语言:javascript
复制
function load_cdevice() {
    chgImg(5);
    var cgi_str = "en/pages/d_cbody.htm?";
    // for Expire Cache!!
    var now_time = new Date();
    cgi_str += "Dummy=" + now_time.getTime();
    parent.Body.location.href = cgi_str;
    }

下面是我尝试过但没有成功的方法。(load_cdevice是我想要的最终目的地,因为这是点击数的页面,但我不确定是否可以从登录页面访问它。)

代码语言:javascript
复制
def get_5070_info():
    print("Ripping info for Canon Imagerunner 5070")
    driver = webdriver.Chrome()
    driver.get('http://10.0.0.34')

    # driver.implicitly_wait(3)
    assert "Remote UI" in driver.title

    # 'document.load_cdevice()
    # driver.execute_script('load_device()')
    # driver.execute_script('load_cdevice()')
    # driver.execute_script('javascript:load_device()')
    # driver.execute_script('javascript:load_device')
    # driver.execute_script('document.load_device()')
    # driver.execute_script("window.location = load_device()'")
    # driver.execute_script("window.location =avascript:load_device()'")

有什么想法或者xpath可以得到这个链接吗?href标记中没有链接文本,只有一个img链接。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-04-08 03:06:37

要单击标题为Device Information的链接,您可以使用以下任一选项:

  • CSS_SELECTOR

imgtitle(“a>driver.find_elements_by_css_selector=‘设备名称

driver.find_element_by_xpath("//a/img@title='Device信息和@src='en/media/bm10.gif'").click()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49709377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档