无法使用XPath细化元素文本

时间:2018-09-18 05:36:47

标签: python selenium element

有一个问题困扰着我很长时间。 我正在研究Web元素的定位以及从网页中控制/读取文本。

我必须赞扬打击和精细元素的成功,但返回空白。

public static void main(String[] args){
        xMethod(5);
    }

    public static void xMethod(int length) { 

        while (length > 1) {

            System.out.print((length - 1) + " ");

             xMethod(length - 1);
             return;
        }
        System.out.println("Coming out of while");
    }

我想在PIC中读取蓝线文本,但我不知道为什么每次都要获取空数据。

enter image description here

2 个答案:

答案 0 :(得分:0)

那是因为表格位于iframe中。为了能够处理表格,您必须切换到该框架:

driver.switch_to.frame('frame')

如果可以找到元素,但是代码返回空字符串,则可以尝试

# In case element is hidden
driver.find_element(By.XPATH, '//table[1]//tr[2]//td[1]').get_attribute('textContent')

# In case text generated dynamically:
from selenium.webdriver.support.ui import WebDriverWait as wait

wait(driver, 5).until(lambda driver: driver.find_element(By.XPATH, '//table[1]//tr[2]//td[1]').text)

答案 1 :(得分:0)

driver.switchTo().frame("your frame")
Relative xpath:-driver.findelementByxpath("//td[@id='o_B1_2']");
absolute xpath:-driver.findElement(By.xpath("//table//tr[3]//th//td[1]"));;