<button style="margin: 8px 5px 0 0; height: 40px;"
class="gprospect_linkedin_button gprospect_linkedin_button_style_medium">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RUM5NDk2ODA2NjYzMTFFOEIxMDBFQzUxNzIzRTMwQTMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RUM5NDk2ODE2NjYzMTFFOEIxMDBFQzUxNzIzRTMwQTMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFQzk0OTY3RTY2NjMxMUU4QjEwMEVDNTE3MjNFMzBBMyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFQzk0OTY3RjY2NjMxMUU4QjEwMEVDNTE3MjNFMzBBMyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgdDInEAAAmaSURBVHja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">Get email
</button>
尝试以下代码,但找不到元素:
driver.find_element_by_class_name('gprospect_linkedin_button').click()
答案 0 :(得分:0)
实际的类名称为'gprospect_linkedin_button gprospect_linkedin_button_style_medium'
find_element_by_class_name 函数旨在通过完整的类名获取元素。
您可以尝试使用xpath这样定位它:
//button[contains(@class, 'gprospect_linkedin_button')];
答案 1 :(得分:0)
您可以使用xpath starts-with
函数来解决此问题。
喜欢:
//*[starts-with(., 'gprospect_linkedin_button')]
答案 2 :(得分:0)
根据配置详细信息(在您的comment更新中)...
(Session info: chrome=69.0.3497.100)
(Driver info: chromedriver=2.37.543627 (63642262d9fb93fb4ab52398be4286d844092a5e),platform=Windows NT 6.3.9600 x86_64)
您的主要问题是所使用的二进制版本之间的不兼容性:
支持 Chrome v64-66
支持 Chrome v68-70
因此 ChromeDriver v2.37 与 Chrome浏览器v69.0
之间存在明显的不匹配使用以下代码行在所需元素上调用click()
:
driver.find_element_by_xpath("//button[@class='gprospect_linkedin_button gprospect_linkedin_button_style_medium'][normalize-space()='Get email']").click()
执行您的@Test
。
二进制更新后您仍然看到NoSuchElementException
,因此需要诱使 WebDriverWait ,使所需的元素可点击,如下所示:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
# other lines of code
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@class='gprospect_linkedin_button gprospect_linkedin_button_style_medium'][normalize-space()='Get email']"))).click()
由于您仍然无法click()
,因此需要使用execute_script()
方法,如下所示:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
# other lines of code
myElement = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@class='gprospect_linkedin_button gprospect_linkedin_button_style_medium'][normalize-space()='Get email']")))
driver.execute_script("arguments[0].click();", myElement)
答案 3 :(得分:0)
尝试一下:
OnePlus 6