我正试图通过我的本地whois来获得网站所有者:
link = "ebdicorp.com.br"
service = service.Service('C:\Selenium\chromedriver.exe')
service.start()
capabilities = {'chrome.binary': 'C:\Selenium\chromedriver.exe'}
driver = webdriver.Remote(service.service_url, capabilities)
driver.get('https://registro.br/2/whois?qr=&c');
time.sleep(5)
input_site = driver.find_element_by_id("whois")
input_site.send_keys(link)
driver.find_element_by_id("captchaBtn").click()
company = driver.find_element_by_class_name("col-md-9").text
print(company)
driver.quit()
问题是:我得到了
company = driver.find_element_by_class_name("col-md-9")
返回<selenium.webdriver.remote.webelement.WebElement (session="eae9915a3cc3f2f4690eec4a0019982d", element="0.5670714519595477-1")>
但是当我尝试使用.text
时没有文本。我在哪里弄糟?
谢谢!
答案 0 :(得分:2)
类col-md-9
中有20个元素。您得到的第一个没有文本。您可以使用xpath
通过文本找到要查找的行,然后从中获取值。
例如,对于“标题”行,请使用
driver.find_element_by_xpath("//*[label='Titular:']/following-sibling::*[1]").text
哪个会给你Studio Crazy Suporte S/C Ltda Me
答案 1 :(得分:1)
根据网站https://registro.br/2/whois?qr=&c
,一旦您用文本 ebdicorp.com.br 搜索以提取任何值,就可以编写一个函数,该函数将使用<label>
名称如下:
def extract_value(myString):
driver.find_element_by_xpath("//label[.='" + myString + "']//following::div[1]").get_attribute("innerHTML")
现在,您可以使用任何extract_value()
文本来调用函数<label>
,以提取其值,如下所示:
extract_value("Titular:")
#or
extract_value("Contato do Titular:")
#or
extract_value("Contato Administrativo:")