Python+Selenium, can't click the 'button' wrapped by span
<p>I am new to selenium here. I am trying to use selenium to click a 'more' button to expand the review section everytime after refreshing the page. </p>

<p>The website is TripAdvisor. The logic of <code>more</code> button is, as long as you click on the first <code>more</code> button, it will automatically expand all the review sections for you. In other words, you just need to click on the first 'more' button. </p>

<p>All buttons have a similar class name. An example is like <code>taLnk.hvrIE6.tr415411081.moreLink.ulBlueLinks</code>. Only the numbers part changes everytime. </p>

<p>The full element look like this:</p>

<pre><code>&lt;span class="taLnk hvrIE6 tr413756996 moreLink ulBlueLinks" onclick="          var options = {
      flow: 'CORE_COMBINED',
      pid: 39415,
      onSuccess: function() { ta.util.cookie.setPIDCookie(2247); ta.call('ta.servlet.Reviews.expandReviews', {type: 'dummy'}, ta.id('review_413756996'), 'review_413756996', '1', 2247);; window.location.hash = 'review_413756996'; }
    };
    ta.call('ta.registration.RegOverlay.show', {type: 'dummy'}, ta.id('review_413756996'), options);
    return false;
  "&gt;
More&amp;nbsp; &lt;/span&gt;
</code></pre>

<p>I have tried several ways to get the button click. But since it is an onclick event wrapped by span, I can't successfully get it clicked. </p>

<p>My last version looks like this:</p>

<pre><code>driver = webdriver.Firefox()
driver.get(newurl)
page_source = driver.page_source
soup = BeautifulSoup(page_source)
moreID = soup.find("span", class_=re.compile(r'.*\bmoreLink\b.*'))['class']
moreID = '.'.join(moreID[0:(len(moreID)+1)])
moreButton = 'span.' + moreID
button = driver.find_element_by_css_selector(moreButton)
button.click()
time.sleep(10)
</code></pre>

<p>However, I keep getting the error message like this: </p>

<blockquote>
  <p>WebDriverException: Message: Element is not clickable at point (318.5,
  7.100006103515625). Other element would receive the click....</p>
</blockquote>

<p>Can you advise me on how to fix the problem? Any help will be appreciated!</p>

<p>Try using an <a href="http://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.common.action_chains" rel="nofollow"><code>ActionChains</code></a>:</p>

<pre><code>from selenium.webdriver.common.action_chains import ActionChains
# Your existing code here
# Minus the `button.click()` line
ActionChains(driver).move_to_element(button).cliââck().perform()
</code></pre>

<p>I have used this technique when I need to click on a <code>&lt;div&gt;</code> or a <code>&lt;span&gt;</code> element, rather than an actual button or link.</p>

python selenium onclick css-selectors webdriver