Python - Selenium通过href定位元素

时间:2015-11-24 07:08:36

标签: python html selenium

我正在尝试使用selenium找到(并单击)我的Python程序的特定页面。

我试过了

<?php 
$album = '{"media_type":"image/png","pic_id":"zhadb"},
         {"media_type":"image/png","pic_id":"zhadb"},
         {"media_type":"image/video","pic_id":"kg5k4"},';

         echo rtrim($album, ",");

driver.findElement(By.cssSelector("a[href*='text']")).click();

使用driver.findElement(By.partialLinkText("text")).click(); 我要搜索的内容。这些不适用于错误

text

我只能假设它不能找到元素,因为它适用于Java,而不是Python。

网站链接的唯一区别因素是href属性。

所有其他标签都有重复。我无法100%猜测正确的链接,所以我还需要定位器通过部分文本。

无论如何都要开始这个?我可以使用其他程序吗?有人成功完成了吗?我试过搜索,但没有人问过这个。

1 个答案:

答案 0 :(得分:4)

您可以尝试:

from selenium.webdriver.common.by import By
...
driver.find_element(By.PARTIAL_LINK_TEXT, 'text').click()

from selenium import webdriver
...
driver.find_element_by_partial_link_text("text").click()

编辑:对于href本身的部分文本搜索,请尝试:

from selenium import webdriver
...
driver.find_element_by_xpath("//a[contains(@href,'text')]").click()

来源:

http://selenium-python.readthedocs.org/faq.html?highlight=click#how-to-auto-save-files-using-custom-firefox-profile

http://selenium-python.readthedocs.org/locating-elements.html#locating-elements