如何访问硒嵌套div中的文本

问题描述 投票:0回答:2

尝试访问嵌套的某些文本属性。大多数元素都没有遇到麻烦,但只是无法获得某些元素。

我正在尝试设置:一个变量= Optomi,另一个变量=美国密歇根州底特律(尽管我觉得一旦有了第一个变量,我就可以轻松获得第二个变量)

Full Path

<a data-control-name="company_link" href="/company/optomi/life/" id="ember2228" class="jobs-details-top-card__company-url ember-view"> Optomi </a> 

我正在尝试提取文本值“ Optomi”。

我尝试过:

cname = self.driver.find_elements_by_xpath("//a[@class='jobs-details-top-card__company-url ember-view']/a")
print(cname)

cname = self.driver.find_elements_by_css_selector(
          "div.jobs-details-top-card__company-info t-14 t-black--light t-normal mt1")
print(cname)
print(cname.get_attribute("text"))

任何提示?

python selenium xpath css-selectors webdriverwait
2个回答
0
投票

尝试使用CC7052所说的内容:

cname = self.driver.find_element_by_xpath("//a[@class='jobs-details-top-ard__company-url ember-view']").text

然后可能使用.split获取底特律

cname.split(',')[0]

0
投票

要拉出文本Optomi,您需要为visibility_of_element_located()引入WebDriverWait,并且可以使用以下任何一个Locator Strategies

  • 使用CSS_SELECTOR

    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "a.jobs-details-top-card__company-url.ember-view[data-control-name='company_link'][href*='optomi']"))).text)
    
  • 使用XPATH

    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//a[@class='jobs-details-top-card__company-url ember-view' and @data-control-name='company_link'][contains(@href,'optomi')]"))).text)
    
  • :您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
© www.soinside.com 2019 - 2024. All rights reserved.